opensea中如何调用TokenURI函数
OpenSea如何调用tokenURI函数? 我想使用关键字(msg.sender),但效果不理想。 或者我的代码可能有一些错误?
mapping(address=>bool) addr_bool;
function tokenURI(uint256 tokenId)
public
view
virtual
override
returns (string memory)
{
require(
_exists(tokenId),
"ERC721Metadata: URI query for nonexistent token"
);
if(addr_bool[msg.sender] == true) {
return URI_1;
// addr_bool[msg.sender] is true;
}
else {
return URI_2;
}
if (bytes(base).length == 0) {
return _tokenURI;
}
if (bytes(_tokenURI).length > 0) {
return string(abi.encodePacked(base, _tokenURI));
}
return
string(abi.encodePacked(base, tokenId.toString(), baseExtension));
}
我希望看到映射中的数据是否真实。在 OpenSea 中,它将显示 URI_1,如果没有,它将显示 URI_2
How OpenSea call the tokenURI function ?
I want to use the keyword (msg.sender) but it didn't work ideally.
Or maybe I have some error in my code ?
mapping(address=>bool) addr_bool;
function tokenURI(uint256 tokenId)
public
view
virtual
override
returns (string memory)
{
require(
_exists(tokenId),
"ERC721Metadata: URI query for nonexistent token"
);
if(addr_bool[msg.sender] == true) {
return URI_1;
// addr_bool[msg.sender] is true;
}
else {
return URI_2;
}
if (bytes(base).length == 0) {
return _tokenURI;
}
if (bytes(_tokenURI).length > 0) {
return string(abi.encodePacked(base, _tokenURI));
}
return
string(abi.encodePacked(base, tokenId.toString(), baseExtension));
}
I expect to see , if data in mapping is true. In OpenSea, it will show URI_1, if not it will show URI_2
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论