Héberger votre NFT sur IPFS

Si vous ne le savez pas encore, posséder un NFT ne signifie pas que le fichier du NFT est téléversé tel quel sur la blockchain. En réalité, un NFT correspond à un bloc sur la blockchain qui contient un certain token. Ce token stocke un « pointeur » ou lien, appelé tokenURI, qui contient l'adresse en ligne d'un fichier de métadonnées, qui lui-même référence le fichier média en utilisant une autre URI.

En raison de la nature pair-à-pair de la blockchain, vous ne pouvez pas simplement héberger votre fichier NFT et son fichier de métadonnées sur n'importe quel service d'hébergement web. Votre tokenURI doit rester permanent (ou « immuable ») et portable entre applications et places de marché, aussi longtemps que possible, potentiellement pour toujours.

C'est là qu'intervient IPFS.

À propos d'IPFS

IPFS, pour InterPlanetary File System, est un réseau de fichiers décentralisé qui sert à héberger et partager des données à travers des réseaux distribués. Les plateformes NFT peuvent récupérer des données depuis IPFS au lieu de dépendre d'un serveur unique, et le protocole IPFS donne l'impression que tous les fichiers hébergés sont locaux.

Le site web d'IPFS propose une page approfondie sur les meilleures pratiques de stockage des NFT.

Détails du téléversement de NFT

Lors du téléversement de votre NFT, vous devez effectuer deux téléversements vers l'identifiant de contenu (CID) que IPFS génère pour vous :

  • Le contenu lui-même, pour lequel IPFS renvoie une URL IPFS pour le fichier hébergé.

  • Le fichier de métadonnées, qui référence le CID du fichier média, et doit contenir l'URL IPFS pour le fichier.

Les deux doivent être téléversés sur IPFS sous le même CID.

Idéalement, votre ensemble d'outils prend cela en charge afin que vous n'ayez pas à tout faire manuellement.

À titre informatif, voici à quoi ressemblerait un fichier metadata.json minimal :

{ 
    "name": "Stadium Pass #25456456", 
    "description": "Billet d'entrée supporteur du PSG", 
    "image": "ipfs:///filename.png",           // uniquement pour les images statiques !
    // "animation_url": "ipfs:///filename.mp4" // pour les fichiers vidéo et audio.
    "attributes": [
    { 
        "trait_type": "Tier", 
        "value": "Gold" 
    }] 
}

Pour en savoir plus sur la structure des métadonnées NFT (par exemple, pourquoi vous devriez utiliser image pour les images et animation_url pour les vidéos), nous vous conseillerons de lire ce document d'OpenSea :

Remarque : Vous n'êtes pas censé écrire le fichier de métadonnées à partir de zéro ! Votre ensemble d'outils devrait être capable de le générer pour vous.

Comme cette documentation n'a pas pour but de tout décrire sur IPFS, nous vous conseillons d'approfondir le sujet via des recherches en ligne. Vous pouvez commencer par cet article explicatif de Pinata :

... ou cet article de blog de thirdweb :

Mis à jour

Ce contenu vous a-t-il été utile ?