最流行的ERC721模板比较

最流行的ERC721模板比较

未标题-3

img

除了最近的宏观经济事件导致市场略微看跌外,我认为我们可以确信我们仍处于 NFT 牛市的中间。

在这轮牛市中,每周都有数百个项目推出,其中大部分都是类似的智能合约。由于在这个领域几乎所有的东西都是开源的,因此很容易实施被证明有效的解决方案。

然而,这导致项目复制粘贴当前流行的少数NFT智能合约模板,而没有真正理解每个实施中存在的不同的优缺点。

为了在一定程度上消除这种混乱,有必要研究一下最流行的模板,检查每种模板的优缺点,并尝试得出一些关于不同类型项目的最佳合约的结论。

ERC721和ERC721Enumerable

NFT起源于EIP-721不可替代代币标准提议。这个几乎每个人都使用的提案的OG实现是由OpenZeppelin完成的。

ERC721提供的功能很快被证明是不够的,许多项目开始采用ERC721Enumerable扩展。该扩展通过在合约中添加所有代币ID的可枚举性,以及检查帐户拥有的所有代币ID的方法,来增强原始ERC721的功能。

然而,这就是我们开始遇到麻烦的地方。ERC721Enumerable的问题是,它做了很多不必要的事情,导致了gas成本的上升,给社区造成了数百万美元的损失。

ERC721Enumerable可以优化读取函数,但不利于写入函数。

ERC721Enumerable使用了大量的冗余存储,这不仅提高了代币的铸造成本,而且也提高了代币的转账成本。

img

​ ERC721Enumerable.sol

这些是状态修改函数,在每次更新或转账发生时执行。

我们可以清楚地看到ERC721Enumerable不是一个理想的选择,不应该再被大多数项目使用。

幸运的是,一些聪明的开发人员已经注意到了这些效率低下的问题,并设计了解决方案。

优化的 ERC721Enumerable

一篇不错的文章:https://nftchance.medium.com/

建议大家阅读整篇文章,熟悉解决方案,这个合约的基本前提是,它把优化的重心进行翻转,把写入函数优化为读取函数的成本。这通常很好,因为如果读取函数在链下被调用 ,那么它们不会花费我们的钱。背后的基本原理ERC721Enumerable是提供对以下三个函数的访问:totalSupplytokenByIndextokenofOwnerByIndex

我们可以忍受这些函数的低效率和无限循环,因为它们几乎总是在链下被调用。

这个实现首先用一个数组替换E

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值