首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个智能契约中的多个TokenURI URL

一个智能契约中的多个TokenURI URL
EN

Ethereum用户
提问于 2022-09-10 15:04:39
回答 1查看 150关注 0票数 0

我怀疑是否可能有不同的薄荷函数指向不同的tokenURI。

假设我有两个薄荷函数和两个名为tokenURI1和TokenURI2的变量,如下所示:

代码语言:javascript
复制
String tokenURI1 = ipfs://test1;
String TokenURI2 = ipfs://test2;

 function mint1(uint256 _mintAmount) public payable {
    _safeMint(_msgSender(),_mintAmount);
  }

 function mint2(uint256 _mintAmount) public payable {
    _safeMint(_msgSender(),_mintAmount);
  }

如果有人在mint1函数中使用该令牌将tokenURI1的url保存在memory中,而在mint2函数中有人将tokenURI2的url保存在memory中,则有可能是造币吗?

这样做的想法是在一个具有不同映像的智能契约中创建多个薄荷函数,但保持在同一个collection.it中是可以做到的吗?怎么做?

EN

回答 1

Ethereum用户

发布于 2022-09-10 18:46:07

这应该是可能的。例如,OpenZeppelin实现允许重写tokenURI(tokenId)函数,并根据tokenId返回相应的URI。

代码语言:javascript
复制
enum TokenType { Type1, Type2 }

mapping (uint256 => TokenType) tokenType;

function tokenURI(uint256 tokenId) public view virtual override returns (string memory) {
    if (tokenType[tokenId] == TokenType.Type1) {
        return string(abi.encodePacked(tokenURI1, tokenId.toString()));
    } else {
        return string(abi.encodePacked(tokenURI2, tokenId.toString()));
    }
}
票数 0
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

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

复制
相关文章

相似问题

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