Dans ce tutoriel, je vais vous montrer comment créer des collections de jetons non fongibles (NFT) sur la blockchain Solana en utilisant le programme Metaplex, utilisé par la majorité des collections professionnelles du marché. Il est important, avant d’aller plus loin, que vous sachiez ce qu’est un NFT et à quoi il sert; j’offrirai donc une brève introduction sur le sujet, sur le standard et ensuite la programmation elle-même. N’hésitez pas à sauter les étapes selon votre niveau de maîtrise.
Ce n’est pas un tutoriel Solana pour débutants et il est recommandé que le programmeur ait déjà une certaine familiarité avec d’autres normes plus basiques liées aux jetons, comme le SPL-Token, en plus du langage de programmation Rust lui-même. Vous pouvez apprendre les bases de Rust dans ce tutoriel, et sur la norme SPL-Token dans celui-ci.
Qu’est-ce qu’un Token Non-Fongible (NFT) ?
Le mot fongible peut sembler étrange, mais son concept est assez simple à comprendre. Si vous préférez, la vidéo ci-dessous explique cette partie théorique initiale.
Quelque chose de fongible est quelque chose de consommable et substituable, comme l’argent. Vous le dépensez pour l’utiliser et un billet de 100 peut être échangé contre un autre, ou même contre plusieurs plus petits, formant une valeur équivalente, sans perdre aucune de ses propriétés ou de sa valeur. En utilisant deux billets de 50 ou un billet de 100 pour payer quelque chose, il n’y a absolument aucune différence pratique: vous paierez de la même manière et celui qui reçoit aura exactement la valeur demandée en main.
Quant à ce qui est non-fongible, c’est précisément quelque chose qui n’est pas substituable. En réalité, vous pouvez le remplacer, mais l’échange NE sera JAMAIS équivalent à 100 %. Par exemple un bien immobilier ou une voiture. Aussi bien que vous échangiez contre un autre de valeur marchande identique, l’échange comportera toujours des différences, que ce soit sur l’emplacement du bien, l’état de conservation de la voiture ou les caractéristiques des biens. Il en va de même pour les œuvres d’art, les billets d’événements, les objets de collection en édition limitée, etc.
Dans le monde numérique aussi, nous avons des objets (des tokens) non-fongibles. Si je crée une œuvre d’art numérique, elle est aussi non-fongible qu’un tableau à l’huile, n’est-ce pas ? Si je crée un cours vidéo, il est lui aussi non-fongible, n’est-ce pas ? Notez que le concept de fongibilité n’a rien à voir avec la valeur d’un élément ou avec la difficulté de sa création, puisque la valeur est quelque chose de subjectif, surtout pour les éléments artistiques et dépend principalement de la rareté de l’élément.
Mais Luiz, existe-t-il des choses non-fongibles lorsque tout n’est que bits et octets ? Si je peux facilement créer des copies d’objets avec Ctrl+C et Ctrl+V, comment savoir quel est l’original ou qui est le véritable propriétaire d’un élément ?
C’est là qu’interviennent les enregistrements d’actifs non-fongibles, tant dans le monde physique que dans le monde numérique.
Qu’est-ce qu’une collection de NFT ?
Quand nous sommes dans le monde physique et que nous voulons la propriété de quelque chose, que faisons-nous ? En plus de payer pour cet actif, s’il s’agit d’un bien de valeur justifiant ce droit, un contrat, établi chez le notaire, est exigé afin de céder la propriété de l’ancien propriétaire à nous. C’est ainsi pour les voitures, les maisons, les actions d’entreprises… n’est-ce pas ?
Il en va de même lorsque nous réalisons de grandes choses et souhaitons prouver que nous les avons faites. Nous remettons des certificats pour nos diplômes, nos records, nos expériences professionnelles et bien d’autres choses encore.
Et dans le monde numérique ? Si je possède un objet numérique comme une œuvre d’art que j’ai créée, ou un personnage dans un jeu, et que je veux prouver la possession ou même le transférer à quelqu’un d’autre, comment procédons-nous ? Rien n’interdit que je copie un JPG d’une photo prise par quelqu’un et que je dise que c’est la mienne, mais rien n’interdit non plus que je crée un diplôme de médecine désormais et que je l’imprime pour dire que c’est le mien, n’est-ce pas ? La différence entre le réel et la copie réside dans l’authenticité, la preuve de possession fondée sur la confiance dans un contrat ou un registre, qu’il soit physique ou numérique.
Avant l’invention des NFT, il n’existait pas de moyen standardisé pour enregistrer la propriété numérique dans le monde en ligne. Cela ne veut pas dire que cela n’était pas fait d’une manière ou d’une autre (personnellement, je possède des ebooks enregistrés), mais la création et la démocratisation des NFT et des normes pour les créer ont permis à ce marché d’émerger réellement et d’exploser en 2021 avec un tel succès. Un NFT n’est rien d’autre qu’un certificat, une propriété enregistrée sur la blockchain, indiquant qu’un élément numérique déterminé appartient à quelqu’un, représenté par une adresse de portefeuille de cryptomonnaies.
Étant donné que la blockchain est un grand registre immuable et distribué, nous pouvons éliminer la nécessité d’enregistrer nos certificats d’objets numériques dans un cartório analogique et transférer cette responsabilité aux algorithmes, tout comme nous le faisons déjà avec l’argent virtuel que l’on appelle les cryptomonnaies. Cela présente d’innombrables avantages, tels qu’un accès public au certificat prouvant que c’est bien à vous, un coût bas puisque nous éliminons un tiers de confiance et, surtout, la facilité de transfert de propriété, ce qui a précisément permis l’émergence de marketplaces gigantesques de NFT comme OpenSea et des économies autour de jeux comme Axie Infinity et CryptoKitties.
Mais alors, comment créer un enregistrement NFT pour prouver la possession de quelque chose que j’ai créé ?
Le Metaplex
Le Metaplex est un protocole d’infrastructure et un ensemble d’outils basé sur la blockchain Solana, lancé en 2021 pour faciliter la création, la vente et la gestion des NFT (jetons non fongibles). Il propose des outils tels que Candy Machine pour la mint et Token Metadata pour la normalisation. Ces composants standardisés et préconçus simplifient le développement de collections NFT sur la blockchain Solana, fonctionnant comme des “blocs de construction” pour les développeurs.
Si vous venez du monde EVM, vous pouvez établir une analogie avec la bibliothèque OpenZeppelin, mais c’est bien plus que cela, car sur Solana les programmes sont séparés des données; les programmes du Metaplex peuvent être utilisés directement en appelant l’exécutable du programme sur le mainnet (déployé par leur équipe), mais dans le contexte (c’est-à-dire les comptes) de votre programme. En résumé, c’est OpenZeppelin avec des améliorations massives ou, si vous connaissez déjà la Solana Program Library, c’est une SPL axée sur les NFT. Toutefois, il y a un bémol : le protocole comporte des frais, alors faites attention à cela.
La première étape pour utiliser le Metaplex consiste à installer son CLI globalement sur votre machine, ce qui peut être fait avec la commande ci-dessous.
npm install -g @metaplex-foundation/cli
Ensuite, vérifiez l’installation avec la commande :





