ERC-20
ERC-20 es un estándar técnico utilizado para crear tokens fungibles en la blockchain de Ethereum, que define un conjunto común de reglas para el comportamiento de los tokens.
ERC-20, que significa Ethereum Request for Comments 20, es una interfaz estándar para tokens en la blockchain de Ethereum. Proporciona un modelo de cómo deben comportarse los tokens, incluyendo funciones para transferir tokens, verificar saldos y aprobar transacciones. Esta estandarización permite que diferentes tokens interactúen sin problemas entre sí y con aplicaciones descentralizadas (dApps) construidas en Ethereum. Asegura la compatibilidad y simplifica el proceso de desarrollo tanto para los creadores de tokens como para los usuarios.
El estándar ERC-20 define funciones como totalSupply(), balanceOf(), transfer(), transferFrom(), approve() y allowance(). Estas funciones permiten operaciones básicas de tokens como verificar el suministro total de un token, verificar el saldo de tokens de un usuario, transferir tokens entre direcciones y permitir que un tercero gaste tokens en nombre de un usuario. Adherirse a este estándar asegura que los tokens puedan integrarse fácilmente en wallets, exchanges y otras plataformas basadas en 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;
🧠 Prueba de conocimiento
🧒 Explícalo como si tuviera 5 años
Think of ERC-20 like a universal remote control for digital money on [Ethereum](/es/terms/ethereum). It makes sure all digital coins work the same way so your [wallet](/es/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.