IP3 之无中生有

一、背景

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.org

  • Testnets调试:

    合约开发完后,可以自己搭建hardhat单节点测试网络,来测试合约基本功能,基本功能测试完成后,部署到rinkeby测试网,再进行前后端合约交互测试。

    rinkebyfaucet.com

  • Mainnet调试

    主网部署,目前都是在remix上编译,模拟部署,没有问题了,才会使用hardhat进行真实部署。

    remix.ethereum.org

  • Aws 部署

    IP3部署了两套环境, testnets.ip3.xyz 为开发调试和预上线使用,只和Eth Rinkeby网络交互,ip3.xyz 为线上环境,只和Eth Mainnet交互。

    docs.aws.amazon.com

四、功能实现

五、开发周期

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 …

Subscribe to ip3protocol
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.