近期,随着Conflux 生态的逐步建立,大量优质生态应用在Conflux 中部署,Conflux 公链欣欣向荣起来。尤其是NFT 相关应用,如雨后春笋般涌现。但是随之而来的,是良莠不齐的合约质量和标准兼容度。
为了整个Conflux 链上NFT 应用的繁荣和可持续发展,为了应用之间方便集成,为了保证合约质量和安全,建议所有Conflux NFT 开发者仔细阅读本文。
遵循标准
NFT 开发者应该完全仔细阅读并完全遵循EIP-721 3 或EIP-1155 5 标准。
建议没有同质化代币和非同质化代币混合使用场景的应用,采用并遵循EIP-721 3标准。
标准合约接口和实现可以参考:
- EIP-721:https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC721 6
- EIP-1155:https://github.com/OpenZeppelin/openzeppelin-contracts/tree/master/contracts/token/ERC1155 5
通过uri 或tokenURI 方法获取的NFT 元数据URI 地址,建议使用placeholder 格式,而非每个tokenId 存储一个URI。
线下NFT JSON 元数据信息应该遵循各个标准的Metadata 部分,建议不论是721 还是1155,都遵循1155 的Metadata JSON Schema 6 规范,包含name、image、description 等字段,并在多语言支持上采用localization 1 字段和标准(而非使用非标准的结构和字段,比如name_en 等)。
未来ConfluxScan 或钱包应用,可能会对没有完全遵循EIP-721 3 或EIP-1155 5 标准的合约,放弃支持或只提供有限的支持。
共建Conflux 合约库
上面的repo 包含了Conflux 上常用的合约工具,比如内置合约、721/1155 扩展等。开发者可以按需使用。
欢迎所有开发者提issue 或pr,共同丰富合约库内容。
Enumerable
考虑到会给用户带来额外的Gas 成本, EIP-721 3 中把可枚举扩展作为可选项,EIP-1155 5 标准直接去掉了可枚举扩展。
Conflux 链上Gas 成本较低,初期有代付机制,开发者如果有强烈的需求,对于1155 合约,可以采用Conflux 合约库中的扩展实现2。
枚举功能可以发现合约已经发行的和某个用户所拥有的NFT。如果在合约中实现,会带来额外的存储成本和Gas 消耗,开发者需要仔细权衡利弊。如果在应用中需要上述功能,强烈建议在线下实现。未来ConfluxScan 可能会对完全遵循标准的合约提供相关服务,来替代枚举功能。
Enumerable Gas Cost 比较
call safeTransferFrom, tokenId: 1, amount: 1, data: 0x
Ethereum | Conflux | |
---|---|---|
不支持IERC721Enumerable |
Code txHash Gas Used: 61,564 |
Code txHash Gas Used: 53,704 存储押金:128 |
支持IERC721Enumerable |
Code txHash 1 Gas Used: 87,888 |
Code txHash 1 Gas Used: 75,828 存储押金:192 |
不支持IERC1155Enumerable |
Code txHash Gas Used: 53,514 |
Code txHash Gas Used: 42,356 存储押金:64 |
支持IERC1155Enumerable |
Code txHash Gas Used: 123,547 |
Code txHash Gas Used: 76,689 存储押金:256 |
支持Enumerable 后,mint 操作会带来更多存储押金花费:
Conflux | |
---|---|
不支持IERC721Enumerable |
Code txHash mint Gas Used: 37,796 mint 存储押金:128 |
支持IERC721Enumerable |
Code txHash mint Gas Used: 64,296 mint 存储押金:320 |
不支持IERC1155Enumerable |
Code txHash mint Gas Used: 34,974 mint 存储押金:64 |
支持IERC1155Enumerable |
Code txHash mint Gas Used: 74,013 mint 存储押金:512 |
本文链接地址:https://www.wwsww.cn/NFT/9550.html
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。