Blockchain

更新 ERC-721 TokenURI(在它已經被鑄造之後)

  • July 27, 2021

這是一個概念問題。uri在 NFT 已經鑄造之後,是否有可能以某種方式更新現有的 ERC-721 代幣?

例如,我在資產位置所在的位置鑄造了一個 NFT AWS S3。後來,我想將其更新為IPFS. 這對於已經鑄造的 NFT 是否可行?或者,鑑於區塊鍊是不可變的,我要問的在概念上是不可能的?

請提供一個說明性的例子。謝謝。

這取決於您如何實施 NFT。

在標準的 OpenZeppelin 實現中,不可能直接修改tokenUri. 只有一個吸氣劑:https ://github.com/OpenZeppelin/openzeppelin-contracts/blob/566a774222707e424896c0c390a84dc3c13bdcb2/contracts/token/ERC721/ERC721.sol#L92

如果你仔細想想,不允許任何人修改 uri 是很有意義的。如果可以更改,您可以出售指向 uri A 的 NFT,然後將其更改為指向 uri B - 基本上更改整個 NFT 內容。

但是沒有什麼能阻止你在 ERC721 合約中添加這樣的額外功能。這對使用者來說不是很正確,但從技術上講,您可以在部署合約之前做到這一點。令牌是否已經鑄造並沒有太大區別 - 您可以添加功能來修改您想要的任何內容。

引用自:https://ethereum.stackexchange.com/questions/104166