我最近参与了一个已经进行了很长时间的NFT项目(ERC721(。继续意味着nft已经全部铸造完成,我们正在制定路线图的下一部分。
我发现所有元数据和图像目前都托管在HTTPS域上。我们希望将它们转移到IPFS,但为此,我们当然也需要更改NFT,因为它们目前都使用HTTPS。
我必须承认,我对这种行为没有那么的经验。它和更改合同中的baseURI一样简单吗?如何改变已经铸造的NFT元数据和图像的来源?
提前感谢您提供任何有用的答案。
实际上有两个概念需要考虑:
- 在tokenUri端点提供的元数据
- 由元数据上的
image
属性指示的NFT图像URI
如您所知,NFT图像通常托管在IPFS上,尽管元数据通常可以动态提供,例如从合同所有者的铸造系统提供的API。
IPFS背后的理念是,它使用基于内容的寻址,因此在不更改地址的情况下无法更改数据。因此,当您将NFT图像移动到IPFS时,这些图像显然会被分配新的URL。
因为您不能更改NFT令牌的tokenUri
(除非合同允许,否则这将非常违反NFT的整体完整性(,这意味着您需要在移动所有令牌时(即在为tokenUri
端点提供服务的系统上(更新所有令牌的元数据。
可以说,从元数据URI提供的内容也应该是不可变的(例如,元数据也存储在IPFS上(,因为如上所述,通过更改元数据,令牌的原始意图可以完全更改为不同的内容。如果元数据也是不可变的,那么就无法更改NFT图像、描述和其他元数据属性。