如何为 NFT 收藏创建预披露机制
来源:betterprogramming 一种简单、安全、有效的方法具有预显示占位符图像的 NFT 在推出新的 PFP NFT 集合(la Bored Ape Yacht Club)时,为每个铸造的 NFT 使用占位符图像,并且仅在铸造所有 NFT 后才显示最终的 NFT,这已成为一种常见的做法。 这是一项重要的实践,因为没有它,狙击手可以根据通过元数据暴露的特征的稀有性来选择要铸造的 NFT。 在开始构建此功能之前,让我们扩展一下我们的业务需求:
我们的智能合约负责返回每个tokens 我们可以解决上述问题的方法是创建一个“pre-reveal”元数据文件并将其上传到某个地方(例如:https ://example.org/pre-reveal.json )。这个“pre-reveal URI”是我们想要为每个tokens返回的,直到显示发生。 披露后,我们希望能够使用新 URL 更新智能合约,该 URL 可用于生成正确的tokens URI。 例如,如果我们已将所有dai币上传 有了这些知识,我们可以将问题重新定义为对智能合约的更具体的要求:
我们如何实现它?假设我们正在为 NFT 集合开发一个智能合约,该集合扩展了通常的 OpenZeppelin 如果你检查 在这里,供你参考: OpenZeppelin 对 tokenURI 的实现 它们的实现(上图)将自动连接基本 URI(返回自 这对于 AFTER 显示非常有用——但对于 pre-reveal,我们需要重写此函数以返回我们的 pre-reveal URI: tokenURI 函数 你会注意到我们引用了几个全局变量: 接下来,我们需要创建一个函数来“显示”tokens。 上面的reveal函数会将传递的baseURI保存到一个名为的全局变量 我们几乎完成了,将 如果你还记得,这个实现调用一个 如果我们检查该实现,我们可以看到它实际上可以被覆盖: 让我们强制 OpenZeppelin 并重写该 结论你已经学习了一种简单、安全且有效的方法来实现 NFT 预揭示机制。 这篇文章是我即将出版的新书的特别重写的摘录:“开发者发布 NFT 集合的指南”。 |
2018-06-24
2018-11-20
2019-01-10
2019-01-10
2019-01-10
2019-11-14
2019-11-14
2019-11-14
2019-11-13