ERC721 NFT 未在 opensea 中显示(与元数据相关)

ERC721 NFT not showing in opensea (related to the metadata)

我正在创建 DApp,并使用 IPFS (pinata) 和 Nethereum (C#) 在 Rinkeby 中成功铸造了 NFT。

现在,我可以使用 ERC721URIStorage.sol 中的 tokenURI 函数获取 TokenURI,例如 ipfs://QmRH9pTTADs3BCqMLqXEAMP83FoaeMD8CUkNgtxZ5HKTLq

以下是关于同一个 NFT 的元数据 link。 (https://ipfs.io/ipfs/QmRH9pTTADs3BCqMLqXEAMP83FoaeMD8CUkNgtxZ5HKTLq)

但是,在opensea testnet中,我看不到关于我的NFT的信息。 (我能看到我的NFT,但是没有图片,名字,描述等等。。)

为了解决这个问题,我在https://testnets-api.opensea.io/asset/0x1770A249C9743F1493C55fE505BC17beAB772cD5/4/validate/中检查了我的合同是否有效。有一些错误:“AttributeError: 'str' object has no attribute 'get'”,但我不知道它是什么..

虽然我可以得到TokenURI,为什么opensea没有?在此文档 (https://docs.opensea.io/docs/metadata-standards) 中,他们说如果我想使用 IPFS 来托管我的元数据,URL 应该采用 ipfs:// 格式(如 ipfs://QmRH9pTTADs3BCqMLqXEAMP83FoaeMD8CUkNgtxZ5HKTLq。)我遵循了, 但它不起作用。

哦,我发现我的ipfs中的json不是json,因为它被".

包围了

这意味着 opensea 将无法从我的元数据中获取某些内容,因为它是字符串。

我使用了另一个示例元数据 (https://ipfs.io/ipfs/bafybeibnsoufr2renqzsh347nrx54wcubt5lgkeivez63xvivplfwhtpym/metadata.json),它不是我的,但效果很好!

因此,我必须修复将元数据上传到 ipfs 的代码。

我没有完全解决问题,但是我找到了原因,所以我会退出这个问题。等我解决了这个问题,我再post