首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在购买后显示NFT元数据

在购买后显示NFT元数据
EN

Ethereum用户
提问于 2021-11-08 17:42:09
回答 1查看 1.7K关注 0票数 5

我们希望在OpenSea上发布我们的收藏,艺术品已经完成,并且希望使用Haslip的智能合同来完成。这个智能契约已经有了类似的东西,我们正在寻找,但它揭示了所有的NFT。

https://github.com/HashLips/hashlips_nft_合同

如果我希望每次用户购买图像时都能显示图像,我需要做什么?我们有一个伟大的封面图像,将显示直到NFT被购买。因此,OpenSea上的用户会看到这个“未显示”图像的集合,但是当他们购买一个时,NFT就会被显示出来。

我也是开放的建议,如果这将是不可行的,或将变得过于昂贵,如果它不是用户/区块链友好。

谢谢你的帮助和建议

EN

回答 1

Ethereum用户

发布于 2021-11-09 01:10:04

SimpleNFT.sol内部,您可以拥有一个mapping (uint256 => bool) revealed,而不是bool public revealed变量。

这将每个tokenId映射到一个布尔值(默认为false )。此布尔值指定是否显示由tokenId标识的令牌。

然后,在薄荷函数内部,我们希望在创建令牌时显示它们:

代码语言:javascript
复制
  function mint(uint256 _mintAmount) public payable {
    // ...
    for (uint256 i = 1; i <= _mintAmount; i++) {
      _safeMint(msg.sender, supply + i);
      // by adding the below line:
      revealed[supply + i] = true;
    }
  }

接下来,我们需要更新tokenURI函数

代码语言:javascript
复制
  function tokenURI(uint256 tokenId)
  {
    // ...
    // change line to
    if(revealed[tokenId] == false) {
        return notRevealedUri;
    }
    // ...
  }

最后,完全删除揭示功能

票数 4
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/113142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档