Christoph
Christoph

Reputation: 31

Can you easily move an existing NFT project to IPFS?

I recently became involved in a NFT project (ERC721) that has been going on for quite a while. Going on means the nfts are all minted and we're working on the next parts of our roadmap.

I discovered all metadata and images are currently being hosted on a HTTPS domain. We would like to move them to IPFS, but for that we of course also need to change the NFTs, since they all look at the HTTPS at the moment.

I must admit I'm not that experienced with this kind of action. Is it as simple as changing the baseURI in the contract? How can one change the origin of an already minted NFT's metadata and image?

Thanks in advance for any helpful answers.

Upvotes: 3

Views: 338

Answers (1)

StuartLC
StuartLC

Reputation: 107387

There's actually two concepts to consider:

  • The metadata served at the tokenUri endpoint
  • The NFT image URI as indicated by the image property on the metadata.

As you've identified, an NFT image is often hosted on IPFS, although frequently the metadata can be dynamically served, e.g. from an API provided by the contract owner's minting system.

The idea behind IPFS is that it uses content-based addressing, so the data can't be changed without also changing its address. So when you move your NFT images to IPFS, the images will obviously be assigned new URLs.

Because you can't change the tokenUri for the NFT token (unless the contract allows it, which would pretty much violate the whole integrity of the NFT), this means that you'll need to update the metadata for all the tokens as you move them across (i.e. on the system serving the tokenUri endpoint).

It could be argued that the content served from the metadata URI should also be immutable (e.g. metadata also stored on IPFS), since as per above, by changing the metadata, the original intent of a token can be entirely changed to something different. If the metadata is also immutable, then there would be no way to change the NFT image, description and other metadata properties.

Upvotes: 2

Related Questions