我正在运行一个与tokenURI()相关的问题。这是我的职责:
function initialize(string memory _baseUri) public initializer {
__ERC721_init("GAME", "GM");
__Ownable_init();
baseUri = _baseUri;
}
function mint(address _address) internal {
tokenId.increment();
uint256 currentTokenId = tokenId.current();
_safeMint(_address, currentTokenId);
tokenURI(currentTokenId);
}我传递了我的元数据文件的url,它是这作为baseURI。当我查询tokenURI的值后,它显示为:https://gateway.pinata.cloud/ipfs/QmaU1NBQczTWYz7cbhJDSeEugyhYPRoZrFPfcRxMkvQ79t1 for tokenId 1。当我进入链接时,它显示了以下错误:ipfs resolve -r /ipfs/QmaU1NBQczTWYz7cbhJDSeEugyhYPRoZrFPfcRxMkvQ79t1: invalid path "/ipfs/QmaU1NBQczTWYz7cbhJDSeEugyhYPRoZrFPfcRxMkvQ79t1": invalid CID: selected encoding not supported。有什么问题吗?
发布于 2023-04-28 17:25:30
这个问题是因为串接错误。
这是我用来连接URI的函数
function getUri(uint256 _tokenId) internal view returns (string memory) {
return
string(
abi.encodePacked(baseUri, Strings.toString(_tokenId), ".json")
);
}https://ethereum.stackexchange.com/questions/149611
复制相似问题