前言
?9月1日,以太坊创始人 Vitalik 在 Twitter 上宣布,他的新书《Proof of Stake》将于 2022 年 9 月 27 日正式对外发布。这本书汇集了他在过去约 10 年中的各种著作以及创建以太坊的心路历程:当所有人都在关注 ETH 的价值时,他正在努力打造一个互联网原生世界,探索问题的解决方案和所有可能性。 ?现在任何用户可以参与公开捐赠获取签名电子书和捐赠证明 NFT,所有捐赠金额都将无偿捐出,其中 90% 的资金将用于 Gitcoin Grants 匹配池,10% 给予出版合作伙伴 Seven Stories Press 支撑书籍的出版。捐献金额默认为0.1337 ETH,最低可捐献0.0001337 ETH就可以捐献并铸造 NFT,需要注意的是该NFT不可交易,并且捐献金额前十名的地址将出现在新书前言的感谢名单中。
?本文将追寻V神发布的NFT铸造网站中的蛛丝马迹,进行技术分析。
一、环境分析
?从该网站最底部能看到用到的技术支持与开发者的资料,如下图所示: ?可见合约创建者是0×noWonder,使用Scaffold-eth框架,guist.eth创建的前端美术,建立在Etherscan区块链浏览器中的流程。其中Scaffold-eth中文译名eth脚手架,可以使开发者低成本的快速创作自己的智能合约并部署。追寻开发者github账号可以发现创作历程。
二、合约分析
?作者首先了解了ERC721代币标准,并找到了快速开发工具的试开发教程scaffold-diretory,随后又学习了scaffold的前端开发教程。针对本次项目,作者又基于“GreenPill / ProofOfStake Book Signing” 的框架并创作了自己的智能合约用于新书的NFT签名。合约部分代码如下:
?如图可见签名铸造NFT价格(price)为0.01337ether,仔细阅读代码后发现分为Token存储 (TOKEN STORAGE)、触发事件声明(EVENTS)、EIP-712规则存储(EIP-712 STORAGE)、构造器(STRUCTOR)、质押逻辑(PLEDGE LOGIC)、Token底层逻辑(TOKEN LOGIC)、SIG逻辑( SIG LOGIC)并且作者在SIG逻辑模块附上了EIP-712的说明。 ?阅读完毕完整代码可以看见,相比于其他NFT不同的是该合约并没有写二次交易的代码块该合约仅能通过捐献0.0001337~0.1337ETH到目标地址后获得Token以证明自己获得该书的签名。如有需要查看完整原合约代码可点击此条查看。将合约代码,前端美术样式通过scaffold-eth脚手架搭建测试并快速部署到主链后就可完成本次项目。 ?关注本博客,后续将更新更多书籍签名铸造NFT项目。
|