Creating long-lasting NFTs: How to store data in a reliable way
NFTs are simply tokens on a blockchain. Like entries on a ledger, they do not contain the media data they represent. Instead, they carry a link to that data. A blockchain may last forever, but the lifetime of the NFT is limited by the longevity of the validity of that link.
Here’s how we ensure it doesn’t get lost:
IPFS for storage of media files
In most cases, and for Kollektor.io, the link stored in the NFT token is a pointer to an IPFS hash.
IPFS, the interplanetary filesystem, is a peer-to-peer network that holds data as long as one participant holds that data. While this is much better than storing data on one server only, IPFS can also ‘forget’ data.
To guarantee that data will live in IPFS for a very long time, Kollektor.io uses a mechanism called pinning. We pin the data ourselves and use multiple services for pinning (Pinata and NFT.storage at the time of writing) to make sure that the data will live longer in IPFS than Kollektor.io.
IPFS for meta-data
Simply storing media data in IPFS was enough for the initial implementation of NFTs – when no standardization was yet necessary because only one type of content was used.
To enable NFTs to be bound to any kind of media data, NFTs are now linked to meta-data. That meta-data points to one or more media files, and additionally contains machine- and human-readable descriptive data.
Open-Source access to meta-data
Standardization has not advanced a lot in the NFT space, and while there is some interoperability between marketplaces, every service or project has their own standards for meta-data.
To enable access to meta-data, and thus enable access to the NFT forever, we are publishing a public API, and open sourcing not only an API client, but also the definition of our meta-data format.
We want your data to be safe and accessible as long as possible. This is why we use IPFS storage in addition to multiple pinning services and want to enable open-source access to the corresponding meta-data.