首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenSea ContractURI

OpenSea ContractURI
EN

Stack Overflow用户
提问于 2022-03-21 08:30:24
回答 1查看 992关注 0票数 2

函数contractURI()何时在OpenSea NFT合同中生效?

代码语言:javascript
复制
function contractURI() public view returns (string memory) {
    return "https://metadata-url.com/my-metadata";
}

它是否只在NFT合同第一次加载到Opensea时才生效?或者可以使ContractURI在部署后更改契约元数据?部署之后,我尝试将其更改为

代码语言:javascript
复制
function setContractURI(string memory _contractURI) public onlyOwner {
    contractURI = string(
        abi.encodePacked(_contractURI, contractMetadataFilename)
    );
}

但是在我设置了一个新的ContractURI之后,Opensea没有改变任何事情。

EN

回答 1

Stack Overflow用户

发布于 2022-03-30 06:45:18

我发现问题出在哪里了。这是一个常见的问题,并不是上述问题所特有的。但共同问题的解决也解决了上述问题。

我在开源生物示例( ProxyRegistryAddress )中使用了在2_deploy_contracts.js中编码的2_deploy_contracts.js。这是在2022年1月。地址为0xf57b2c51ded3a29e6891ab85459d600256cf317 f或Rinkeby

现在我试着使用2022年3月部署的工厂合同。我得到了错误

无法获得批准这些代币进行交易的许可。他们的合同可能没有得到正确的执行。请与开发者联系!

我再次检查了上面提到的存储库中的ProxyRegistryAddress中的2_deploy_contract.js中的Rinkeby。同时改为0x1E525EEAF261cA41b809884CBDE9DD9E1619573A。

我在OpenSea中找不到任何文档,其中记录了给定环境(如Rinkeby )的当前ProxyRegistryAddress。

在这一经历之后,我认为为ProxyRegistryAddress编写一个setter代码是一个好主意,以便能够在部署合同后更改地址。

使用正确的proxyRegistryAddress后,已经部署的契约的contractURI的更改将反映在OpenSea中。

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

https://stackoverflow.com/questions/71554693

复制
相关文章

相似问题

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