Padrão de token ERC-777
Última atualização da página: 21 de agosto de 2025
Aviso
**ERC-777 é difícil de implementar propriamente, devido à sua suscetibilidade a diferentes formas de ataque (opens in a new tab). É recomendável usar ERC-20 ao invés. ** Essa página mantém um histórico de arquivos.
Introdução?
ERC-777 é um padrão de token fungível superior aos anteriores ERC-20.
Pré-requisitos
Para entender melhor essa página, recomendamos que leia sobreERC-20.
Quais as melhorias do ERC-777 em relação ao ERC-20?
O ERC-777 proporciona as seguintes melhorias em relação ao ERC-20.
Ganchos
Os hooks são funções descritas no código de um smart contract. Eles são invocados quando os tokens são enviados ou recebidos pelo contrato. Isso possibilita que o smart contract reaja aos tokens recebidos ou enviados.
Os hooks são registrados e descobertos por meio do padrão ERC-1820 (opens in a new tab).
Porque os hooks são uma vantagem?
- Eles possibilitam o envio de tokens para um contrato e a notificação do contrato em apenas uma transação. O ERC-20 (opens in a new tab), porém, necessita de duas chamadas (
approve/transferFrom) para fazer isso. - Contratos que não possuem hooks registrados são incompatíveis com o ERC-777. O contrato enviado irá abortar a transação quando o receptor não estiver com um hook registrado. Isso previne transferências acidentais para smart contracts fora do padrão ERC-777.
- Hooks podem rejeitar transações.
Decimais
O padrão ERC-777 também soluciona a confusão referente a decimals causada pelo ERC-20. Esta clareza melhora a experiência do desenvolvedor.
Retrocompatibilidade com ERC-20
Contratos ERC-777 podem ter interações como se fossem contratos ERC-20.