Passer au contenu principal
Change page

Norme de jeton non fongible ERC-721

Introduction

Qu'est-ce qu'un jeton non fongible ?

Un jeton non fongible (NFT) est utilisé pour identifier quelque chose ou quelqu'un de manière unique. Ce type de jeton est parfait pour être utilisé sur des plateformes qui proposent des objets de collection, des clés d'accès, des billets de loterie, des places numérotées pour des concerts et des matchs de sport, etc. Ce type spécial de jeton offre des possibilités incroyables, il mérite donc une norme appropriée, et l'ERC-721 est venu résoudre ce problème !

Qu'est-ce que l'ERC-721 ?

L'ERC-721 introduit une norme pour les NFT, en d'autres termes, ce type de jeton est unique et peut avoir une valeur différente d'un autre jeton issu du même contrat intelligent, peut-être en raison de son âge, de sa rareté ou même d'autre chose comme son aspect visuel. Attendez, visuel ?

Oui ! Tous les NFT ont une variable uint256 appelée tokenId, donc pour tout contrat ERC-721, la paire contract address, uint256 tokenId doit être globalement unique. Cela dit, une application décentralisée (dapp) peut avoir un « convertisseur » qui utilise le tokenId comme entrée et produit une image de quelque chose de cool, comme des zombies, des armes, des compétences ou d'incroyables chatons !

Prérequis

Corps

L'ERC-721 (Ethereum Request for Comments 721), proposé par William Entriken, Dieter Shirley, Jacob Evans et Nastassia Sachs en janvier 2018, est une norme de jeton non fongible qui implémente une API pour les jetons au sein des contrats intelligents.

Il fournit des fonctionnalités telles que le transfert de jetons d'un compte à un autre, l'obtention du solde actuel de jetons d'un compte, l'obtention du propriétaire d'un jeton spécifique et également l'offre totale du jeton disponible sur le réseau. En plus de celles-ci, il possède également d'autres fonctionnalités comme approuver qu'une quantité de jetons d'un compte puisse être déplacée par un compte tiers.

Si un contrat intelligent implémente les méthodes et événements suivants, il peut être appelé contrat de jeton non fongible ERC-721 et, une fois déployé, il sera responsable du suivi des jetons créés sur Ethereum.

D'après l'EIP-721 (opens in a new tab) :

Méthodes

Événements

    event Transfer(address indexed _from, address indexed _to, uint256 indexed _tokenId);
    event Approval(address indexed _owner, address indexed _approved, uint256 indexed _tokenId);
    event ApprovalForAll(address indexed _owner, address indexed _operator, bool _approved);

Exemples

Voyons à quel point une norme est importante pour nous simplifier l'inspection de tout contrat de jeton ERC-721 sur Ethereum. Nous avons juste besoin de l'interface binaire-programme (ABI) du contrat pour créer une interface vers n'importe quel jeton ERC-721. Comme vous pouvez le voir ci-dessous, nous utiliserons une ABI simplifiée, pour en faire un exemple facile à aborder.

Exemple avec Web3.py

Tout d'abord, assurez-vous d'avoir installé la bibliothèque Python Web3.py (opens in a new tab) :

pip install web3

Le contrat CryptoKitties possède des événements intéressants autres que ceux de la norme.

Vérifions deux d'entre eux, Pregnant et Birth.

  • Etherscan NFT Tracker (opens in a new tab) répertorie les meilleurs NFT sur Ethereum par volume de transferts.
  • CryptoKitties (opens in a new tab) est un jeu centré sur des créatures reproductibles, des objets de collection et tellement adorables que nous appelons CryptoKitties.
  • Sorare (opens in a new tab) est un jeu mondial de fantasy football où vous pouvez rassembler des objets de collection en éditions limitées, gérer vos équipes et concourir pour gagner des prix.
  • L'Ethereum Name Service (ENS) (opens in a new tab) offre un moyen sécurisé et décentralisé d'adresser des ressources à la fois sur et hors de la chaîne de blocs en utilisant des noms simples et lisibles par l'homme.
  • POAP (opens in a new tab) distribue des NFT gratuits aux personnes qui assistent à des événements ou effectuent des actions spécifiques. Les POAP sont gratuits à créer et à distribuer.
  • Unstoppable Domains (opens in a new tab) est une entreprise basée à San Francisco qui crée des domaines sur des chaînes de blocs. Les domaines de chaîne de blocs remplacent les adresses de cryptomonnaie par des noms lisibles par l'homme et peuvent être utilisés pour permettre des sites Web résistants à la censure.
  • Gods Unchained Cards (opens in a new tab) est un jeu de cartes à collectionner (TCG) sur la chaîne de blocs Ethereum qui utilise des NFT pour apporter une véritable propriété aux actifs du jeu.
  • Bored Ape Yacht Club (opens in a new tab) est une collection de 10 000 NFT uniques qui, en plus d'être une œuvre d'art dont la rareté est prouvable, agit comme un jeton d'adhésion au club, offrant des avantages aux membres qui augmentent avec le temps grâce aux efforts de la communauté.

Lectures complémentaires

Tutoriels : Construire avec des jetons non fongibles (ERC-721) sur Ethereum