Points clés
ERC-20 est une norme technique pour créer des jetons fongibles sur la blockchain Ethereum, définissant six fonctions obligatoires qui garantissent que tous les jetons conformes fonctionnent de la même manière à travers les portefeuilles, les échanges et les applications.
Les jetons ERC-20 existent à l'intérieur de contrats intelligents plutôt que d'être détenus directement par des comptes utilisateurs ; le contrat maintient une liste de soldes et traite les transferts lorsque les utilisateurs soumettent des transactions.
Les types de jetons ERC-20 courants incluent les stablecoins, les jetons utilitaires, les jetons de gouvernance et les jetons de pool de liquidités (LP) utilisés dans les protocoles DeFi.
Les jetons ERC-20 ne peuvent pas être minés ; de nouveaux jetons sont frappés lorsque un contrat est déployé, généralement distribués lors d'événements tels que des offres initiales de pièces (ICOs) ou des événements de génération de jetons.
Introduction
Ethereum a été fondé par Vitalik Buterin en 2014, se positionnant comme une plateforme open-source pour le lancement d'applications décentralisées (DApps). Beaucoup des motivations de Buterin pour créer une nouvelle blockchain découlaient du manque de flexibilité du protocole Bitcoin.
Depuis son lancement, la blockchain Ethereum a attiré des développeurs, des entreprises et des entrepreneurs, construisant un écosystème croissant de contrats intelligents et d'applications distribuées.
Cet article couvre la norme ERC-20 : un cadre important pour créer des jetons fongibles sur Ethereum. Bien qu'elle ait été développée spécifiquement pour le réseau Ethereum, le cadre a également inspiré les normes de jetons sur d'autres blockchains, comme BEP-20 sur BNB Smart Chain.
Qu'est-ce que la norme ERC-20 ?
Dans Ethereum, un ERC est une Demande de Commentaires Ethereum. Ce sont des documents techniques qui décrivent les normes de programmation sur Ethereum. Vous pouvez vous demander, que sont alors les Propositions d'Amélioration Ethereum (EIPs) ? Une EIP est un document formel utilisé pour suggérer de nouvelles fonctionnalités ou des modifications au réseau Ethereum. Les ERC sont un sous-ensemble des EIPs axés sur les normes des contrats intelligents, et ils suggèrent des améliorations au protocole lui-même. Les ERC visent plutôt à établir des conventions qui facilitent l'interaction entre les applications et les contrats.
Rédigé par Vitalik Buterin et Fabian Vogelsteller en 2015, l'ERC-20 propose un format relativement simple pour les jetons basés sur Ethereum. En suivant le schéma, les développeurs n'ont pas besoin de réinventer la roue. Au lieu de cela, ils peuvent s'appuyer sur une base déjà utilisée dans l'industrie.
Une fois que de nouveaux jetons ERC-20 sont créés, ils sont automatiquement interopérables avec les services et logiciels prenant en charge la norme ERC-20, y compris les portefeuilles logiciels, les portefeuilles matériels et les échanges.
Notez que l'ERC-20 a ensuite été formalisé en tant qu'EIP (spécifiquement, EIP-20). Cela s'est produit quelques années après la proposition originale en raison de son adoption généralisée. Cependant, le nom "ERC-20" est resté la référence commune.
Un aperçu rapide des jetons Ethereum
Contrairement à l'ETH (la cryptomonnaie native d'Ethereum), les jetons ERC-20 ne sont pas détenus directement par des comptes. Les jetons n'existent qu'à l'intérieur d'un contrat, qui fonctionne comme une base de données autonome. Il spécifie les règles pour les jetons (y compris le nom, le symbole et la divisibilité) et maintient une liste qui associe les soldes des utilisateurs à leurs adresses Ethereum.
Pour déplacer des jetons, les utilisateurs doivent envoyer une transaction au contrat lui demandant d'allouer une partie de leur solde ailleurs. Par exemple, si Alice veut envoyer 5 000 jetons à Bob, elle appelle une fonction dans le contrat intelligent du jeton pour le faire.
Son appel est contenu dans ce qui semble être une transaction Ethereum ordinaire qui ne paie 0 ETH au contrat de jeton. L'appel est inclus dans un champ supplémentaire de la transaction, spécifiant ce qu'Alice veut faire. Même si elle n'envoie pas d'ether, elle doit toujours payer des frais de transaction libellés en ETH pour que sa transaction soit incluse dans un bloc. Si elle n'a pas d'ETH, elle doit en acquérir avant de pouvoir transférer des jetons.
Comment les jetons ERC-20 sont-ils créés ?
Pour être conforme à l'ERC-20, un contrat doit inclure six fonctions obligatoires : totalSupply, balanceOf, transfer, transferFrom, approve et allowance. De plus, vous pouvez spécifier des fonctions optionnelles telles que name, symbol et decimal.
totalSupply
function totalSupply() public view returns (uint256)Lorsqu'elle est appelée, cette fonction renvoie l'offre totale de jetons que le contrat détient.
balanceOf
function balanceOf(address _owner) public view returns (uint256 balance)Contrairement à totalSupply, balanceOf prend un paramètre (une adresse). Lorsqu'elle est appelée, elle renvoie le solde de jetons de cette adresse. Étant donné que les comptes sur Ethereum sont publics, vous pouvez interroger le solde de n'importe quel utilisateur à condition de connaître son adresse.
transfer
function transfer(address to, uint256 value) public returns (bool success)transfer déplace des jetons d'un utilisateur à un autre. Vous fournissez l'adresse de destination et le montant à transférer. Lorsqu'elle est appelée, transfer déclenche un événement Transfer, qui informe la blockchain d'inclure une référence à la transaction. Un événement Transfer, ainsi qu'un événement Approval, qui est un journal d'un événement approuvé, doit être inclus dans le jeton.
transferFrom
function transferFrom(address from, address to, uint256 _value) public returns (bool success)transferFrom est une alternative utile à transfer qui permet plus de programmabilité dans les applications décentralisées. Comme transfer, elle déplace des jetons, mais ces jetons n'ont pas nécessairement besoin d'appartenir à la personne qui appelle le contrat. En d'autres termes, vous pouvez autoriser une autre adresse (ou contrat) à transférer des fonds en votre nom. Un cas d'utilisation courant implique des services basés sur des abonnements, où un programme gère automatiquement les paiements récurrents plutôt que de nécessiter une transaction manuelle à chaque fois.
approve
function approve(address spender, uint256 value) public returns (bool success)approve vous permet de limiter le nombre de jetons qu'un contrat intelligent peut retirer de votre solde. Sans cela, un contrat défectueux ou exploité pourrait vider votre solde complet. Par exemple, si un abonnement coûte un jeton par semaine et que vous approuvez une limite de vingt jetons, le DApp peut traiter jusqu'à 20 semaines de paiements. Si le DApp tente de retirer plus, ou si un bug est trouvé, votre perte potentielle est plafonnée au montant approuvé.
allowance
function allowance(address owner, address spender) public view returns (uint256 remaining)allowance est utilisé avec approve. Une fois que vous avez donné à un contrat la permission de gérer vos jetons, vous pouvez utiliser allowance pour vérifier combien il peut encore retirer. Par exemple, si un abonnement a utilisé douze de vos vingt jetons approuvés, appeler allowance renvoie huit.
Fonctions optionnelles
Les fonctions ci-dessus sont obligatoires. En revanche, name, symbol et decimal sont optionnels, mais ils rendent votre contrat ERC-20 plus convivial. Respectivement, ils vous permettent d'ajouter un nom lisible par l'homme, de définir un symbole boursier et de spécifier combien de décimales les jetons peuvent être divisés.
Événements
Il y a deux événements qui seront déclenchés par les fonctions mentionnées plus tôt :
Événement Transfer : Cela se produit chaque fois que des jetons sont transférés, créés ou brûlés.
event Transfer(address indexed from, address indexed to, uint256 _value)Événement Approval : Cela est activé chaque fois qu'une approbation est requise. Lorsqu'un utilisateur approuve une plateforme DeFi (comme Uniswap) d'utiliser ses jetons, un événement Approval est déclenché, informant la plateforme de permettre la transaction.
event Approval(address indexed owner, address indexed spender, uint256 _value)Que peuvent faire les jetons ERC-20 ?
Une grande partie de l'attrait des jetons ERC-20 réside dans leur flexibilité. La norme établit des conventions sans restreindre le développement, permettant ainsi aux projets d'implémenter des fonctionnalités supplémentaires et de définir des paramètres spécifiques pour répondre à leurs besoins. En 2025, les jetons ERC-20 alimentent plusieurs catégories d'applications de finance décentralisée (DeFi), allant des protocoles de prêt et d'emprunt aux échanges décentralisés et plateformes de yield farming.
Stablecoins
Les stablecoins (jetons adossés à des devises fiat) utilisent souvent la norme ERC-20. Pour un stablecoin typique soutenu par des fiat, un émetteur détient des réserves de dollars, d'euros ou d'autres devises. Pour chaque unité dans leur réserve, ils émettent un jeton correspondant. Si 10 000 $ sont détenus en réserve, l'émetteur peut créer 10 000 jetons, chacun échangeable contre 1 $. Les utilisateurs peuvent dépenser ces jetons pour des biens et services, les utiliser dans des DApps ou les échanger avec l'émetteur. Lorsqu'ils sont échangés, l'émetteur brûle les jetons retournés (les rendant définitivement inutilisables) et libère l'équivalent fiat des réserves.
Jetons de gouvernance
Les jetons de gouvernance donnent aux détenteurs des droits de vote sur les décisions du protocole, telles que les structures de frais, les mises à niveau ou les allocations de trésorerie. Ils sont largement utilisés dans les protocoles DeFi et les organisations autonomes décentralisées (DAOs). La transférabilité et l'interface standard de l'ERC-20 rendent les jetons de gouvernance faciles à intégrer avec les systèmes de vote en chaîne.
Jetons de pool de liquidités (LP)
Lorsque les utilisateurs déposent des actifs dans une pool de liquidités DeFi, ils reçoivent des jetons LP représentant leur part de la pool. Ces jetons ERC-20 peuvent être échangés contre les actifs sous-jacents plus les frais accumulés. Les jetons LP sont l'un des types de jetons ERC-20 les plus courants en utilisation active dans le DeFi en 2025.
Jetons de sécurité
Les jetons de sécurité sont similaires aux stablecoins au niveau du contrat. La distinction se fait au niveau de l'émetteur : les jetons de sécurité représentent des valeurs mobilières telles que des actions, des obligations ou des actifs physiques, et ils accordent souvent au détenteur une participation dans une entreprise ou un actif. De nouvelles normes comme ERC-1400 et ERC-3643 s'appuient sur l'ERC-20 pour ajouter des fonctionnalités de conformité requises pour les valeurs mobilières réglementées.
Jetons utilitaires
Les jetons utilitaires sont parmi les types de jetons les plus courants. Contrairement aux jetons adossés à des actifs, ils ne sont pas soutenus par un actif externe. Ils peuvent servir de monnaie dans les jeux, de carburant pour les applications décentralisées, de points de fidélité ou d'accès à des services spécifiques.
Peut-on miner des jetons ERC-20 ?
Vous pouvez gagner de l'ether (ETH) par le biais du staking, mais les jetons ERC-20 ne sont pas minables. On dit qu'ils sont frappés lorsqu'ils sont créés. Lorsqu'un contrat est déployé, les développeurs distribuent l'offre initiale selon leurs plans et leur feuille de route. Cela se fait généralement par le biais d'une Offre Initiale de Monnaie (ICO), d'une Offre Initiale d'Échange (IEO) ou d'une Offre de Jetons de Sécurité (STO). De nos jours, les airdrops sont également une méthode de distribution courante. Les investisseurs envoient de l'ether à l'adresse du contrat et reçoivent de nouveaux jetons en retour. Les produits sont généralement utilisés pour financer le développement ultérieur.
Les distributions de jetons n'ont pas besoin d'être automatisées. De nombreux événements de crowdfunding acceptent une gamme de devises numériques, les soldes de jetons étant ensuite alloués aux adresses fournies par les participants.
Avantages et inconvénients des jetons ERC-20
Avantages
Fongible : Les jetons ERC-20 sont fongibles, ce qui signifie que chaque unité est interchangeable avec une autre. Cela est idéal pour les monnaies, les stablecoins et les jetons de gouvernance où les unités individuelles ne devraient avoir aucune caractéristique distinctive.
Flexible : Les jetons ERC-20 sont hautement personnalisables et peuvent être adaptés à de nombreuses applications différentes, allant de la monnaie de jeu et des programmes de fidélité aux instruments DeFi et représentations d'actifs réels (RWA).
Compatible : L'adoption généralisée de l'ERC-20 signifie que la plupart des applications de portefeuilles crypto, des échanges et des contrats intelligents sont déjà compatibles avec les nouveaux jetons lancés. La documentation et les outils pour les développeurs sont vastes.
Inconvénients
Scalabilité : La couche de base d'Ethereum traite un nombre limité de transactions par seconde, et la congestion peut entraîner des frais élevés et des retards. Les solutions de Layer 2 telles qu'Arbitrum, Optimism et zkSync ont largement résolu ce problème en traitant les transactions hors chaîne tout en se réglant sur Ethereum, mais l'ajout d'un Layer 2 introduit une complexité supplémentaire pour les émetteurs de jetons et les utilisateurs.
Arnaques : La facilité de lancement d'un jeton ERC-20 est un avantage à double tranchant. Un minimum d'efforts techniques est requis, ce qui signifie que des projets frauduleux peuvent émettre des jetons aussi facilement que des projets légitimes. Faites toujours vos propres recherches (DYOR) avant de participer à toute offre de jetons pour tirer vos propres conclusions sur la légitimité d'une opportunité.
ERC-20, ERC-721, ERC-1155 et ERC-404 : Quelle est la différence ?
L'ERC-20 était la première norme de jeton Ethereum et reste la plus largement utilisée. Plusieurs autres ont émergé depuis, soit en proposant des améliorations, soit en abordant différents cas d'utilisation.
L'ERC-721 est la norme pour les jetons non fongibles (NFT) : chaque jeton a un identifiant unique, ce qui le rend non interchangeable avec un autre. L'ERC-721 alimente l'art numérique, les objets de collection et les articles de jeu où l'unicité individuelle compte.
L'ERC-1155 prend en charge à la fois les jetons fongibles et non fongibles au sein du même contrat. Un seul contrat ERC-1155 peut gérer plusieurs types de jetons simultanément, ce qui le rend efficace pour les applications de jeu impliquant à la fois des monnaies et des objets uniques.
L'ERC-404, introduit expérimentalement au début de 2024, tente de combiner la transférabilité fractionnaire de l'ERC-20 avec l'unicité de l'ERC-721 pour créer des jetons "semi-fongibles". Il n'a pas été formellement adopté en tant qu'EIP et manque de soutien dans l'écosystème, mais il illustre comment le cadre de l'ERC-20 continue d'inspirer de nouvelles approches.
D'autres normes comme l'ERC-223 visent à ajouter des garanties empêchant les transferts accidentels de jetons, traitant une limitation connue dans la conception originale de l'ERC-20.
FAQ
Qu'est-ce qu'un jeton ERC-20 ?
Un jeton ERC-20 est un jeton fongible créé sur la blockchain Ethereum qui suit la norme technique ERC-20. La norme définit six fonctions obligatoires qui garantissent que tous les jetons conformes se comportent de manière cohérente à travers les portefeuilles, les échanges et les applications décentralisées.
En quoi l'ERC-20 diffère-t-il de l'ERC-721 ?
Les jetons ERC-20 sont fongibles : chaque unité est identique et interchangeable, rendant la norme adaptée aux monnaies, stablecoins et jetons de gouvernance. Les jetons ERC-721 sont non fongibles : chacun a un identifiant unique, ce qui les rend adaptés à l'art numérique, aux objets de collection et aux articles de jeu où l'unicité individuelle est requise.
Les jetons ERC-20 peuvent-ils être minés ?
Non. Les jetons ERC-20 sont frappés (créés) lorsque un contrat intelligent est déployé, pas minés. L'offre totale et la distribution initiale sont définies par les développeurs du contrat. De nouveaux jetons sont généralement distribués par le biais de mécanismes comme les ICO, IEO ou programmes de minage de liquidités.
Pourquoi les transactions ERC-20 nécessitent-elles de l'ETH ?
Les transferts ERC-20 sont des opérations effectuées sur le réseau Ethereum. Toutes les opérations sur Ethereum nécessitent des frais de transaction (appelés gas), qui sont payés en ETH. Même si vous transférez zéro ETH, vous avez toujours besoin d'ETH dans votre portefeuille pour couvrir le coût du gas d'appel du contrat de jeton.
À quoi sert la fonction approve dans ERC-20 ?
La fonction approve permet à un détenteur de jeton de définir une limite de dépenses pour une adresse ou un contrat intelligent spécifique. Ceci est couramment utilisé dans DeFi : au lieu de permettre à un protocole un accès illimité à vos jetons, vous pouvez plafonner le montant qu'il peut retirer. Si un bug est découvert ou si le contrat se comporte mal, votre perte potentielle est limitée au montant approuvé.
Pensées finales
La norme ERC-20 est restée le cadre dominant pour les jetons fongibles sur Ethereum depuis son introduction. Sa simplicité, sa large compatibilité et son design flexible en ont fait la base des stablecoins, des jetons de gouvernance, des instruments DeFi et d'innombrables jetons utilitaires.
Les défis de scalabilité au niveau de base d'Ethereum ont été largement résolus par la croissance des réseaux de Layer 2, qui traitent désormais la majorité des nouvelles activités DeFi. Pendant ce temps, de nouvelles normes de jetons s'étendent à des cas d'utilisation plus spécialisés. L'ERC-20 lui-même n'a pas changé, ce qui fait partie de sa durabilité : une norme simple et vérifiable qui fonctionne de manière fiable à travers l'ensemble de l'écosystème Ethereum.
Lectures complémentaires
Qu'est-ce qu'Ethereum et comment cela fonctionne-t-il ?
Que sont les contrats intelligents et comment fonctionnent-ils ?
Qu'est-ce que la finance décentralisée (DeFi) ?
Qu'est-ce qu'un stablecoin ?
Qu'est-ce qu'une ICO (Offre Initiale de Monnaie) ?
Avertissement : Ce contenu vous est présenté sur une base "tel quel" à des fins d'information générale et éducative uniquement, sans représentation ni garantie de quelque nature que ce soit. Cela ne doit pas être interprété comme un conseil financier, juridique ou autre conseil professionnel, ni comme une recommandation d'achat d'un produit ou service spécifique. Vous devriez chercher vos propres conseils auprès de conseillers professionnels appropriés. Lorsque le contenu est fourni par un contributeur tiers, veuillez noter que les opinions exprimées appartiennent au contributeur tiers et ne reflètent pas nécessairement celles de Binance Academy. Les prix des actifs numériques peuvent être volatils. La valeur de votre investissement peut diminuer ou augmenter et vous ne recevrez peut-être pas le montant investi. Vous êtes seul responsable de vos décisions d'investissement et Binance Academy n'est pas responsable des pertes que vous pourriez encourir. Pour plus d'informations, consultez nos Conditions d'utilisation, Avertissement de risque et Conditions de Binance Academy.
