我有一个在 rinkeby 上工作的智能合约,它正在铸造 ERC721 代币。目标是允许铸币一周,然后在一周后发布元数据和图像。
当我部署它时,我使用https://gateway.pinata.cloud/ipfs/作为我输入合同的 baseUri。
接下来,我模拟延迟的元数据/图像发布:
生成令牌后,我运行 curl POST 以将图像添加到 IPFS 并获取其哈希值。
然后,我通过 UI 手动将图像固定到 pinata,并使用固定的图像 uri 创建元数据。
元数据中的图像链接在我的浏览器中解析。
接下来,我运行第二个 curl POST 以将 JSON 元数据添加到 IPFS。
我通过 UI 手动将元数据固定到 pinata: https ://gateway.pinata.cloud/ipfs/Qmf43nycxRXdwdq3GqT7SKU3MvRyBvbpjzufzZR8ASkMGb
此时,Opensea 没有显示图像,并且其元数据无法验证: https ://testnets.opensea.io/assets/0x1b566f6946feeb73e178c63a2992c2365c6cd55f/0 - https://rinkeby-api.opensea.io/asset/0x1b566f6946feeb73e178c63a2992c2365c6cd5f/validate/
image_url 元数据属性验证失败,因为 ipfs 链接使用哈希,而 im 使用整数令牌值。我无法弄清楚如何弥补这一差距,因为哈希是在合同之外生成的,而且看起来合同是在元数据中生成此链接的原因。
谁能照亮我的困境?谢谢!:D