I token non fungibili sono al momento uno dei topic più discussi nel mondo della Blockchain e delle criptovalute. Le funzionalità e gli use case derivanti da questa implementazione degli SmartContract permette le interazioni con moltissimi ambiti nella vita di tutti i giorni. Alle spalle di ogni token c’è il concetto di metadato, che descrive il contenuto multimediale di cui il token si fa contenitore e certificatore. Come funzionano quindi i metadata? Qual è lo standard che li definisce?
Il metadato di un NFT, sia esso sviluppato secondo lo standard ERC721 o ERC1155, è generalmente salvato nell’IPFS, ossia un protocollo peer-to-peer per il salvataggio di file multimediali. Questo metadato viene “appeso” (da cui derivano i servizi di “pinning” come Pinata) al protocollo e restituito sotto forma di hash allo Smart Contract. L’url che ne deriva, nella forma:
{
“name”: “Sleeping Cat”,
“description”: “You opened the box and found a sleeping cat. Looking at it one cannot help but feel at peace.”,
“image”: “https://ipfs.io/ipfs/QmeWK2BwtsEsSmRDMwmwCT5PADbyku2Xik5sXtsVQVC9Gw?filename=HE-SLEEP.jpeg”,
“attributes”: [
{
“trait-type”: “EigenValue”,
“value”: “HE SLEEPS”
}
]
}
viene salvato nello storage dello Smart Contract e associato all’ID del token corrispondente.
Lo stesso url si risolve nel web come un oggetto JSON con una struttura e delle caratteristiche ben definite. Per essere integrabile con i più famosi marketplace, come Opensea e Rarible , deve avere dei campi specifici in modo da mostrare il contenuto nella maniera corretta. I dati minimi e indispensabili che definiscono un NFT sono:
- name
- description
- image
Oltre a questi è possibile definire un “external_url”, da usare come riferimento a siti esterni, e gli “attributes”, ossia degli attributi che ne definiscono le peculiarità come il livello, la rarità etc.
Il file multimediale può chiaramente avere qualsiasi tipo di estensione, da quelle .png o .jpg, fino a .mp3, .pdf, .mp4 e via dicendo. In alternativa, i file e le caratteristiche dell’NFT possono essere salvati in un server personale o cloud storage.
Credits – Gianmarco Guazzo: https://www.linkedin.com/in/gianmarco-guazzo/recent-activity/all/