Une norme de token est une spécification publiée, un ensemble écrit d’exigences, pour l’interface d’un smart contract qui crée des tokens. L’interface correspond aux fonctions et aux événements du contrat. Un logiciel écrit pour cette interface peut fonctionner avec un contrat qui la respecte. Un token est une unité émise sur une blockchain existante par l’intermédiaire d’un smart contract, un programme qui y est stocké.
Que définit une norme de token, et que laisse-t-elle ouvert ?
Une norme de token définit l’interface d’un contrat de token, c’est-à-dire un smart contract qui crée et suit des tokens. L’interface énumère les fonctions que le contrat de token propose, ce que chaque fonction prend en entrée et renvoie, ainsi que les événements que le contrat de token enregistre.
Une fonction est une opération nommée que propose un contrat de token et qu’une transaction ou un autre contrat peut appeler. Une transaction est une requête qu’un utilisateur envoie à une blockchain, par exemple une demande de déplacement d’un token. Une blockchain est un registre partagé auquel de nouvelles entrées sont ajoutées les unes après les autres. Un événement est un avis qu’un contrat de token enregistre sur la blockchain lorsqu’un changement se produit, afin qu’un logiciel puisse suivre ce changement.
Par exemple, une norme peut déclarer une fonction qui renvoie le solde d’une adresse et une fonction qui déplace des tokens vers une autre adresse. Une adresse est un identifiant sur une blockchain pour un utilisateur ou pour un smart contract. Un solde est le nombre de tokens que détient une adresse.
Notamment, ERC-20, ERC-721, ERC-1155 et BEP-20 ne définissent aucun droit lié à un token ni son statut juridique. Elles ne définissent pas non plus le contenu d’un token, c’est-à-dire les données ou fichiers auxquels un token fait référence, ni le reste du code du contrat de token, laissant ce contenu et ce code à l’auteur du contrat de token. Une norme de token ne crée pas de tokens ; c’est un contrat de token qui respecte la norme qui les crée.
Pourquoi les normes de tokens existent-elles ?
Des normes de tokens telles qu’ERC-20 et BEP-20 existent pour qu’un logiciel puisse réutiliser des tokens via une seule interface. Un logiciel est une application ou un autre smart contract qui appelle les fonctions d’un contrat de token et lit ses événements. Le texte d’ERC-20 décrit cet objectif comme permettant à d’autres logiciels de réutiliser des tokens via une interface standard, et le texte de BEP-20 présente un objectif similaire.
La compatibilité signifie qu’un logiciel peut fonctionner avec un autre sans être modifié pour lui. Une norme de token offre aux logiciels un ensemble unique de noms de fonctions et d’événements, afin qu’ils puissent appeler et lire un contrat de token respectant la norme de la même manière. Une norme n’aide un logiciel que si celui-ci prend en charge son interface, c’est-à-dire s’il est écrit pour appeler les fonctions que la norme nomme.
Que spécifient ERC-20, ERC-721, ERC-1155 et BEP-20 ?
ERC-20, ERC-721, ERC-1155 et BEP-20 sont 4 exemples de normes de tokens. Fongible signifie que les unités d’un token sont interchangeables, donc qu’une unité équivaut à une autre. Non fongible signifie qu’un contrat de token distingue chaque token des autres, de sorte qu’aucun token n’est interchangeable avec un autre. L’entrée du glossaire Token non fongible (NFT) explique le concept de token non fongible.
Que spécifie ERC-20 ?
ERC-20 est une norme pour les tokens fongibles sur Ethereum. Un contrat de token qui respecte ERC-20 conserve un solde pour chaque adresse, et son interface comprend balanceOf, qui renvoie le solde d’une adresse, et transfer, qui déplace des tokens vers une autre adresse. La fonction approve permet à une adresse d’autoriser une seconde adresse, le « spender », à déplacer des tokens depuis le solde de la première adresse, jusqu’à un certain montant, en un ou plusieurs transferts. La fonction transferFrom est celle que le spender appelle pour déplacer ces tokens, et allowance renvoie le montant que le spender peut encore déplacer. Les événements Transfer et Approval annoncent respectivement un transfert et une autorisation, et aucune fonction d’ERC-20 ne nomme un identifiant de token (token ID), ce qui distingue ERC-20 d’ERC-721 et d’ERC-1155.
Que spécifie ERC-721 ?
ERC-721 est une norme pour les tokens non fongibles sur Ethereum. Un contrat de token qui respecte ERC-721 attribue à chaque token un identifiant de token (token ID), un nombre qui le distingue des autres tokens du contrat. Le contrat de token enregistre également quelle adresse contrôle chaque identifiant de token. ERC-721 partage certains noms avec ERC-20, comme balanceOf et Transfer.
Que spécifie ERC-1155 ?
ERC-1155 est une norme pour un contrat de token qui gère plusieurs types de tokens sur Ethereum, et son titre est « Multi Token Standard ». Dans ERC-1155, un identifiant de token désigne un type de token, c’est-à-dire une sorte de token que le contrat gère, et les fonctions de transfert prennent un identifiant de token en paramètre. La norme déclare également des fonctions de lot (« batch »), qui prennent des listes d’identifiants de tokens et de montants, afin qu’un seul appel puisse désigner plusieurs types de tokens. ERC-20 couvre les tokens fongibles et ERC-721 couvre les tokens non fongibles, tandis qu’ERC-1155 permet des tokens fongibles, non fongibles, ou les deux dans un seul contrat.
Que spécifie BEP-20 ?
BEP-20 est une norme de token pour BNB Smart Chain, une blockchain distincte d’Ethereum. BEP-20 décrit une interface standard pour les contrats de tokens sur cette chaîne, et le texte de BEP-20 répertorie les mêmes noms de fonctions et d’événements qu’ERC-20. Le texte de BEP-20 indique que BEP-20 est dérivé d’ERC-20.
Comment ERC-20, ERC-721, ERC-1155 et BEP-20 se comparent-ils ?
ERC-20, ERC-721, ERC-1155 et BEP-20 diffèrent par ce qu’est une unité, ce que le contrat de token suit, et l’endroit où la norme est spécifiée.
ERC-20 contre ERC-721 : que suit un contrat ?
ERC-20 et ERC-721 diffèrent par ce qu’est une unité et par ce que suit le contrat de token. Une unité ERC-20 est l’une de nombreuses unités interchangeables, et le contrat de token indique combien d’unités détient une adresse donnée. Une unité ERC-721 est un token unique doté d’un identifiant de token, et le contrat de token indique quelle adresse contrôle un identifiant de token donné. L’entrée du glossaire ERC-721 répertorie les fonctions et événements d’ERC-721.
BEP-20 contre ERC-20 : quel est leur lien ?
BEP-20 est dérivé d’ERC-20, selon le texte de BEP-20, et il est rédigé pour BNB Chain (Binance Smart Chain), alors qu’ERC-20 est rédigé pour Ethereum. Le texte de BEP-20 indique que les fonctions symbol et decimals sont obligatoires, tandis que le texte d’ERC-20 les marque comme facultatives. Le texte de BEP-20 précise également que BEP-20 étend ERC-20 pour le transfert inter-chaînes, c’est-à-dire le transfert de tokens d’une blockchain à une autre. Cette entrée de glossaire ne décrit pas le fonctionnement d’un tel transfert.
Comment les normes de tokens sont-elles rédigées, et pour quelle blockchain ?
Une norme de token pour Ethereum est rédigée sous forme d’Ethereum Improvement Proposal (EIP), un document de conception destiné à la communauté Ethereum. ERC est la catégorie d’EIP qui définit des normes pour les applications, dont les normes de tokens font partie. Un EIP traverse des étapes définies par l’EIP-1, telles que Draft (brouillon) et Review (révision), et un EIP accepté comme norme obtient le statut Final.
Chacune des normes ERC-20, ERC-721, ERC-1155 et BEP-20 est rédigée pour une blockchain particulière. Les textes d’ERC-20, ERC-721 et ERC-1155 désignent Ethereum, tandis que le texte de BEP-20, une BNB Evolution Proposal (BEP), est rédigé pour BNB Smart Chain. D’autres blockchains peuvent publier des normes de tokens différentes.
Deux contrats respectant la même norme peuvent-ils tout de même différer ?
Deux contrats de tokens qui respectent la même norme peuvent différer dans d’autres comportements, car la norme définit l’interface et non le reste du code. Une norme peut également inclure des parties facultatives, de sorte qu’un contrat de token peut proposer des fonctions qu’un autre contrat de token omet.
Le texte d’ERC-20 marque les fonctions name, symbol et decimals comme facultatives. Les textes d’ERC-721 et d’ERC-1155 décrivent chacun une extension de métadonnées facultative, les métadonnées étant des données qui décrivent les tokens. L’extension d’ERC-721 ajoute trois fonctions, et l’extension d’ERC-1155 ajoute une fonction, uri.
27 novembre 2025










