前因
最近在翻译 diamonds[1] 的内容,原因是在写 Buidler Protocol 过程中发现合约超过 24k 限制了,
Warning: Contract code size exceeds 24576 bytes (a limit introduced in Spurious Dragon). This contract may not be deployable on Mainnet. Consider enabling the optimizer (with a low "runs" value!), turning off revert strings, or using libraries.
这是在 2016 年 11 月 22 日的 Spurious Dragon[2] 硬分叉引入的 EIP-170[3]。
搜索了一波,发现了几个方案,最终觉得 diamonds 方案最喜欢,所以花了力气去深入了解它。
diamond 标准, 多面代理 EIP-2535[4]
创建可以在部署后扩展的模块化智能合约系统。
diamond 其实就是 钻石 的意思,而钻石有多个面,面的单词是 facet,切割钻石 则是 diamondCut, 拿放大镜 (loupe) 可以放大查看钻石的细节,diamond 标准基本上就是把一个智能合约比喻做一颗钻石,而可以通过这个 diamond 标准,可以让智能合约不受 24k 大小限制而依靠 diamondCut 来给钻石做无限制次数的切割(以添加钻石面 facet)来升级改造智能合约,这似乎很有意思,这样我们就可以写出很有意思的智能合约来支撑我们的业务逻辑了。
总结几点:
-
• 一个智能合约就是一颗
diamond 钻石 -
• 钻石其实是由很多
facet组成,其实每个facet就是一个子合约 -
• 每个
子合约是你把你的业务逻辑做了归类,把相关的一系列功能放到同一个子合约里 -
• 在
diamond合约部署上线后,可以再根据需要去添加、替换、移除某个facet, 即子合约 -
•
diamond通过分离存储和合约的方式来实现无限大小的智能合约,并且还能优化 gas
今天翻译完 info.dimonds 主要内容后,发现 ERC721A-Upgradeable[5] 就是基于 diamond 标准开发的,之前帮 NFT 项目方开发时有用到 ERC721A,当时并没有注意看到这个可升级的版本方案,后续会花时间把 ERC721A 的官网主要内容页翻译一遍。
同时也注意到 chiru-labs 其实是 AZUKI NFT 背后的研发团队,他们也最近提出了 PBT[6] ,这和之前一个比赛规划搞得 StockX3 的想法中的和限量球鞋 通过 NFC 芯片绑定逻辑有一些交集,故为了开发 SellX3.com 也会把 PBT 的主要内容翻译出来。
综合以上这些信息,其实可以得到一个 无限可能得 NFT 解决方案
-
• 用
Diamond标准来开发智能合约,其可以无限升级叠加功能 -
• 结合对 ERC20, ERC721, ERC1155 等标准的理解
-
• 理解
PBT的原理
这几个点最终可以得到一个映射世界万事万物的 NFT 合约解决方案,而 Web3HackerDAO 正在开发的 Buidler Protocol 其实在一开始就是往这个思路思考的,只是之前没有非常细节的落地方案,而现在有了更清晰的思路了。
召集 100 人一起深入浅出的理解什么是真正的 NFT
从去年就开始业余研究 NFT 相关知识, 一开始其实也是非常的彷徨怀疑所谓无聊猿 为何会卖那么多钱(现在其实也是认为它其实还是没有价值,因为它还没有对现实世界产生正向价值)。
到今年 5 月辞职 All In Web3,成为了作为 Web3 的坚定信仰者,深信所有的产品事物都应该是对世界有 减熵 作用的才值得去研究和打磨。
Web3HackerDAO 将试水首个线上的 Web3 NFT 课程:
课程内容
-
• 面向所有人深入浅出介绍 NFT(技术/非技术人员兼容)
-
• NFT 代码层面的介绍
-
• NFT 市面上的一些功能(抽奖模式、分成模式、带数量限制的默克尔树白名单等),并实际教学发布一个 NFT 到测试网
-
• 获得 Web3HackerDAO 的翻译文章内容(不会完整翻译,仅翻译主要比较有用的部分)
-
• EIP-2535[7] (TBD)
-
• EIP-5791[8] (TBD)
-
• 没有会议、最后期限以及全职雇员 sahillavingia.com/work
-
• 从泡沫到泡沫 sahillavingia.com/bubble
-
• 回顾构建一个百亿美金公司的失败经历 sahillavingia.com/reflecting
-
• 及其他未来可能增加的资料
额外福利,将从前 100 名付费者中随机 10 名会员获得
-
• 获得 Web3HackerDAO 的 R1 会员 NFT 空投(将在合约正式部署后分发)
-
• R1 会员 NFT 正式售卖价格将在 1000 RMB 以上
-
• R1 会员权益如下:
-
• Web3HackerDAO 线上茶话会参与资格
-
• Web3HackerDAO 孵化的项目的早期种子轮的优先 invest 资格
-
• 其他权益待定,陆续增加
报名方式
-
1. 赞赏 ¥200 并转发文章到朋友圈(前 100 名报名者以赞赏时间为准)
-
2. 添加 vx: Web3Hacker 并备注
Web3 NFT 课程
-------全文完
我是 Web3 赏金猎人 Bruce,5 月份辞职开始 All in Web3, 几个月下来连续 Buidl 了 5+个围绕 NFT 的 PoC 并拿到了 10+ 个 Web3 黑客松赛道奖,接下来将专注于打造给世界带来减熵的 Web3 DApp 工厂 Web3HackerDAO。
-
• 个人微信:Web3Hacker
-
• 个人 Twitter: @Web3HackerNinja
-
• 公众号:Web3HackerDAO
引用链接
[1] diamonds: info.diamonds
[2] Spurious Dragon: blog.ethereum.org/2016/11/18/…
[3] EIP-170: eips.ethereum.org/EIPS/eip-17…
[4] EIP-2535: eips.ethereum.org/EIPS/eip-25…
[5] ERC721A-Upgradeable: github.com/chiru-labs/…
[6] PBT: pbt.io
[7] EIP-2535: eips.ethereum.org/EIPS/eip-25…
[8] EIP-5791: eips.ethereum.org/EIPS/eip-57…