Estándar de token ERC-777
Advertencia
El estándar ERC-777 es difícil de implementar correctamente debido a su susceptibilidad a diferentes formas de ataque (opens in a new tab). En su lugar, se recomienda utilizar ERC-20. Esta página se mantiene como un archivo histórico.
¿Introducción?
ERC-777 es un estándar de token fungible que mejora el estándar ERC-20 existente.
Requisitos previos
Para entender mejor esta página, le recomendamos que primero lea sobre ERC-20.
¿Qué mejoras propone ERC-777 sobre ERC-20?
ERC-777 proporciona las siguientes mejoras sobre ERC-20.
Hooks
Los hooks son una función descrita en el código de un contrato inteligente. Los hooks se llaman cuando se envían o reciben tokens a través del contrato. Esto permite que un contrato inteligente reaccione a los tokens entrantes o salientes.
Los hooks se registran y descubren utilizando el estándar ERC-1820 (opens in a new tab).
¿Por qué son geniales los hooks?
- Los hooks permiten enviar tokens a un contrato y notificar al contrato en una sola transacción, a diferencia de ERC-20 (opens in a new tab), que requiere una doble llamada (
approve/transferFrom) para lograr esto. - Los contratos que no han registrado hooks son incompatibles con ERC-777. El contrato emisor abortará la transacción cuando el contrato receptor no haya registrado un hook. Esto evita transferencias accidentales a contratos inteligentes que no son ERC-777.
- Los hooks pueden rechazar transacciones.
Decimales
El estándar también resuelve la confusión en torno a decimals causada en ERC-20. Esta claridad mejora la experiencia del desarrollador.
Retrocompatibilidad con ERC-20
Se puede interactuar con los contratos ERC-777 como si fueran contratos ERC-20.