# IP3 之无中生有 **Published by:** [ip3protocol](https://paragraph.com/@ip3protocol/) **Published on:** 2022-08-25 **URL:** https://paragraph.com/@ip3protocol/ip3-3 ## Content 一、背景IP3 是一个在区块链上提供版权保护的协议。我们集合了 BAYC、Azuki 等项目的版权许可,和创作者一起制作经过版权许可的衍生品并进行售卖。我们将版权许可物化为一个 NFT,我们称之 “NFT-CD 授权卡”,获得授权卡的用户等同于获得对应 NFT 的商用和衍生品制作的授权,IP3 许可协议将其记录在区块链上,提供给用户随时查看。 目前,区块链技术发展已逐渐成熟,但开发者在应用时仍然面临挑战: 第一,区块链技术体系多、平台多,且每种技术差异比较大,对开发者来说比较难掌握; 第二,基于区块链技术的智能合约还比较新,相关配套并不是很成熟,目前缺少好的智能合约开发和测试工具,以及智能合约的安全审计工具;第三,区块链应用与传统应用在开发模式和运维模式上存在一定差异,这种转变可能会导致一些开发者不适应。 本文会以技术的角度,详细记录下IP3从无到有的过程,说说大龄传统互联网程序员毕业后 如何转型成为日薪千刀的 web3 builder。二、概述网络拓扑如图,我通过网络拓扑的方式列出了IP3在前端、后端、区块链涉及的所有技术栈和服务,文后会针对每一项做详细的拆解。以目前区块链的基础设施和性能来看,大部分DApp仍然需要借助web2下的大多数基础服务才能给用户一个比较好的交互体验,一款基础功能的DApp开发,对技术深度要求并不高,如果大家有移动互联网或者web开发经验,应该能很好的理解钱包登录,合约调用,链上异步确认这些行为,但是因为涉及的范围比较广,几个人的小团队,对开发同学的技术广度要求较高,需要具有边阅读文档边开发的能力。三、框架选择IP3 产品形态上更接近opensea,所以在开发,构建,部署的框架选择上都做了借鉴,包括视图框架,图片处理,testnets/mainnet的分离部署,rinkeby测试网选择等:前端视图框架: 之前工作中没做过前端开发,所以进行了大量学习后,在最常用的几个框架中选则了react mui,前期验证功能,可以直接在mui store中购买一个项目需要的模板样式,进行二次开发即可。 mui.com/zh后端框架: 后端分两大部分,一个是Dapp网站数据的正常业务逻辑交互服务,一个是前端链上交互后,所需要的后台异步同步服务,如NFT的mint、transfer、pay等操作,都需要链上状态确认后,修改对应数据状态,才可在前端正确展示,从性能上考虑,其实后端用golang,rust,java开发比较合适,IP3项目因为工期,人力原因,也使用的js框架,因为可以复用部分前端代码。。。 feathersjs.com合约开发、部署: 合约开发目前主流框架是truffle和hardhat,各有优缺点,IP3是从学习 scaffold-eth 开始的,scaffold中对hardhat做了比较好的封装(开发,部署,abi、bitcode提取等),所以后面的也就一直延用了。 hardhat.org前端合约交互: scaffold 中对前端和合约交互做了封装,但代码风格、文档、支持的功能都没有wagmi好,在开发完整体逻辑后,把所有前端合约交互框架改为了wagmi。 wagmi.sh后端合约交互: 后端主要是对IP3 一个主合约,一个版权合约,4个蓝筹项目衍生品合约 状态的监测,对支持的蓝筹项目在链上行为的监测(交易,转移,销毁等)。 ethers.orgTestnets调试: 合约开发完后,可以自己搭建hardhat单节点测试网络,来测试合约基本功能,基本功能测试完成后,部署到rinkeby测试网,再进行前后端合约交互测试。 rinkebyfaucet.comMainnet调试 主网部署,目前都是在remix上编译,模拟部署,没有问题了,才会使用hardhat进行真实部署。 remix.ethereum.orgAws 部署: IP3部署了两套环境, testnets.ip3.xyz 为开发调试和预上线使用,只和Eth Rinkeby网络交互,ip3.xyz 为线上环境,只和Eth Mainnet交互。 docs.aws.amazon.com四、功能实现合约开发 1、IP3 License 合约开发 ERC1155 2、IP3 Copyright 合约开发 ERC721 3、IP3 衍生品 合约开发前端/后端业务开发 1、钱包登录 2、合约调用 3、链上数据监测 4、图片生成、ipfs,s3上传 5、gif图动态生成服务部署 1、Aws 域名解析、Route-53、CloudFont 使用 2、NFT IPFS 图片清洗合约部署 1、合约一键部署 2、合约一键导出五、开发周期1、前端开发:40人日 2、后端开发:14人日 3、合约开发&部署:14人日 4、前后端联调::7人日 5、bug fix:14人日六、费用除了花费的人力、时间成本 ,IP3在开发、部署过程中的必要费用如下 1、AWS:域名解析,s3,ec2,数据库等合计约 $250 每月 2、以太坊主网合约部署:Ip3目前共部署6个合约,花费约0.3Eth 3、ip3.xyz 域名 $2000 每年七、传统互联网程序员转型之路later … ## Publication Information - [ip3protocol](https://paragraph.com/@ip3protocol/): Publication homepage - [All Posts](https://paragraph.com/@ip3protocol/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@ip3protocol): Subscribe to updates - [Twitter](https://twitter.com/ip3dev): Follow on Twitter