任何曾与Open的ERC1155和ERC155UriStorage合作过的人。它们都有一个_setURI函数和一个uri函数(返回令牌uri)。两个问题同时使用这两个合同..。
1.当两者同时使用时.contract NFTContract is ERC1155URIStorage, ERC1155 {},换句话说,您是否像这样列出了两者?
2.如何确保在_setURI合同而不是ERC1155上调用ERC1155URIstorage和uri函数?只需将我想要覆盖的函数(ERC155)变为虚拟的,并将我想要用于这些函数的契约(ERC155URIStrorage)标记为覆盖吗?在这样做时,我是否还必须在这个ERC1155URIStorage函数中引用_setURI,还是“覆盖”足够了?
还是我搞错了?这也是非常可能的。
发布于 2023-03-06 18:01:01
如果您想使用ERC1155URIStorage,那么它已经是从ERC1155继承的,因此您不需要在您的契约中同时继承两者。只要继承ERC1155URIStorage,您就可以得到所需的东西。您的继承链看起来类似于NFTContract -> ERC1155URIStorage -> ERC1155,因此,您正在间接地从ERC1155继承。
对于您的函数调用,它们沿着链向上移动,并访问存在的第一个函数签名。
https://ethereum.stackexchange.com/questions/146973
复制相似问题