El estándar ERC-20
Interfaz del token
El estándar ERC-20 es una lección gratuita de Web3 & DApp Development Fundamentals en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Web3 & DApp Development Fundamentals, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Web3 & DApp Development Fundamentals incluye 4 lecciones en total.
Partes de esta lección aún no han sido traducidas y se muestran en inglés.
What Is ERC-20?
ERC-20 is the standard interface for fungible tokens on Ethereum. Fungible means every unit is identical and interchangeable, like currency.
Because all ERC-20 tokens share the same interface, wallets and exchanges can support any of them automatically.
The Required Functions
An ERC-20 token must implement six functions:
totalSupply()balanceOf(account)transfer(to, amount)approve(spender, amount)allowance(owner, spender)transferFrom(from, to, amount)
The Two Events
ERC-20 also requires two events so wallets can track activity:
Transfer- fired on any token movementApproval- fired when an allowance is set
<code>event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);</code>totalSupply and balanceOf
totalSupply() returns the total number of tokens in existence. balanceOf(account) returns how many tokens a given address holds.
<code>function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);</code>The Interface in Code
Solidity lets you declare the standard as an interface. Implementations inherit from it to guarantee compliance.
<code>interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address) external view returns (uint256);
function transfer(address to, uint256 amount) external returns (bool);
function approve(address spender, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function transferFrom(address from, address to, uint256 amount) external returns (bool);
}</code>Optional Metadata
Three optional functions improve display: name(), symbol(), and decimals(). They are not required by the core standard but are expected by wallets.
<code>function name() external view returns (string memory);
function symbol() external view returns (string memory);
function decimals() external view returns (uint8);</code>Understanding Decimals
The EVM has no fractions, so tokens use decimals to represent fractional amounts. Most tokens use 18 decimals, matching Ether.
So 1 token displayed equals 1 * 10**18 in raw units.
<code>uint8 public constant decimals = 18;
// 1 token = 1_000_000_000_000_000_000 base units</code>Why a Standard Matters
Because ERC-20 defines a common shape, a wallet can display any token, a DEX can trade it, and a contract can integrate it without custom code. Interoperability is the whole point.
Return Values
The mutating functions transfer, approve, and transferFrom return a bool indicating success. Most modern implementations revert on failure rather than returning false.
<code>function transfer(address to, uint256 amount) external returns (bool);
// returns true on success; reverts on insufficient balance</code>Using OpenZeppelin
In practice most developers do not write ERC-20 from scratch. They inherit the battle-tested OpenZeppelin implementation and just set the name, symbol, and initial supply.
<code>// import '@openzeppelin/contracts/token/ERC20/ERC20.sol';
// contract MyToken is ERC20 {
// constructor() ERC20('MyToken', 'MTK') {
// _mint(msg.sender, 1000 * 10 ** decimals());
// }
// }</code>The Allowance Mechanism
A defining ERC-20 feature is allowances: an owner can authorize a spender to move tokens on their behalf via approve and transferFrom. This powers DEXs and DeFi protocols.
You will explore this in detail later in the course.
Quick Check
Test your understanding of the ERC-20 standard.
Recap
You learned the ERC-20 standard:
- It defines fungible tokens with a common interface
- Six required functions plus Transfer and Approval events
- Optional name, symbol, and decimals for display (usually 18 decimals)
- Allowances enable delegated transfers
- OpenZeppelin provides a safe ready-made implementation
Aprende Web3 & DApp Development Fundamentals con un tutor de IA — gratis
Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.
- Cursos
- 29
- Lecciones
- 105
Preguntas frecuentes
¿La lección «El estándar ERC-20» es gratis?
Sí — el texto completo de «El estándar ERC-20» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Web3 & DApp Development Fundamentals, actualiza a CoddyKit PRO. El curso de Web3 & DApp Development Fundamentals incluye 4 lecciones en total.
¿Qué aprenderé en «El estándar ERC-20»?
Interfaz del token Practicas Web3 & DApp Development Fundamentals con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Web3 & DApp Development Fundamentals?
No se requiere experiencia previa. Web3 & DApp Development Fundamentals en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «El estándar ERC-20»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Web3 & DApp Development Fundamentals?
Sí. Cada lección de Web3 & DApp Development Fundamentals incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- El estándar ERC-20
- Implementación de un token
- Allowances
- Acuñación y quema