ERC-20
ERC-20 est une norme technique utilisée pour créer des tokens fongibles sur la blockchain Ethereum, définissant un ensemble commun de règles pour le comportement des tokens.
ERC-20, qui signifie Ethereum Request for Comments 20, est une interface standard pour les tokens sur la blockchain Ethereum. Elle fournit un modèle de la façon dont les tokens doivent se comporter, y compris des fonctions pour transférer des tokens, vérifier les soldes et approuver les transactions. Cette standardisation permet à différents tokens d'interagir de manière transparente les uns avec les autres et avec les applications décentralisées (dApps) construites sur Ethereum. Elle assure la compatibilité et simplifie le processus de développement pour les créateurs de tokens et les utilisateurs.
La norme ERC-20 définit des fonctions telles que totalSupply(), balanceOf(), transfer(), transferFrom(), approve() et allowance(). Ces fonctions permettent des opérations de base sur les tokens telles que la vérification de l'offre totale d'un token, la vérification du solde de tokens d'un utilisateur, le transfert de tokens entre adresses et la possibilité pour un tiers de dépenser des tokens au nom d'un utilisateur. Le respect de cette norme garantit que les tokens peuvent être facilement intégrés dans les wallets, les exchanges et autres plateformes basées sur Ethereum.
graph LR
Center["ERC-20"]:::main
Pre_smart_contract["smart-contract"]:::pre --> Center
click Pre_smart_contract "/terms/smart-contract"
Pre_ethereum["ethereum"]:::pre --> Center
click Pre_ethereum "/terms/ethereum"
Pre_token["token"]:::pre --> Center
click Pre_token "/terms/token"
Center --> Child_stablecoin["stablecoin"]:::child
click Child_stablecoin "/terms/stablecoin"
Center --> Child_governance_token["governance-token"]:::child
click Child_governance_token "/terms/governance-token"
Rel_erc_721["erc-721"]:::related -.-> Center
click Rel_erc_721 "/terms/erc-721"
Rel_erc_1155["erc-1155"]:::related -.-> Center
click Rel_erc_1155 "/terms/erc-1155"
Rel_eips["eips"]:::related -.-> Center
click Rel_eips "/terms/eips"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧠 Test de connaissances
🧒 Explique-moi comme si j'avais 5 ans
Think of ERC-20 like a universal remote control for digital money on [Ethereum](/fr/terms/ethereum). It makes sure all digital coins work the same way so your [wallet](/fr/terms/wallet) and other apps know how to send, receive, and check balances without needing special instructions for each coin.
🤓 Expert Deep Dive
The ERC-20 standard, codified in EIP-20, provides a foundational interface for fungible tokens on Ethereum. Its design prioritizes simplicity and broad compatibility, defining a minimal set of functions and events. The approve and transferFrom pattern is crucial for enabling decentralized exchanges (DEXs) and other protocols to act as token custodians without requiring direct token ownership. This pattern, however, introduces a potential attack vector: reentrancy. If a malicious contract calls back into the token contract after a transferFrom but before the balance is updated, it could potentially drain more tokens than intended. Robust implementations mitigate this through checks-effects-interactions pattern or reentrancy guards. The standard's fungibility implies that all token instances are identical, simplifying supply management but limiting expressiveness for unique digital assets. The absence of built-in minting or burning mechanisms means these functionalities must be explicitly coded into the contract, often leading to variations like MintableToken or BurnableToken contracts, which themselves can introduce additional security considerations.