Pular para o conteúdo principal
Change page

Padrão de token ERC-777

Última edição: @mauri.lustosa(opens in a new tab), 15 de agosto de 2023

Atenção

ERC-777 é difícil de implementar adequadamente, devido à sua suscetibilidade a diferentes formas de ataque(opens in a new tab). Recomenda-se usar ERC-20 em vez disso. Esta página permanece como um arquivo histórico.

Introdução

ERC-777 é um padrão de token fungível com o objetivo de aprimorar o padrão ERC-20 existente.

Pré-Requisitos

Para entender melhor essa página, recomendamos primeiramente uma leitura sobre ERC-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.

Hooks

Os hooks são funções descritas no código de um contrato inteligente. Eles são invocados quando os tokens são enviados ou recebidos pelo contrato. Isso possibilita que o contrato inteligente reaja aos tokens recebidos ou enviados.

Os hooks são registrados e descobertos utilizando o padrão ERC-1820(opens in a new tab).

Porque os hooks são uma vantagem?

  1. Os hooks 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.
  2. 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 contratos inteligentes fora do padrão ERC-777.
  3. Hooks podem rejeitas 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 o ERC-20

Contratos ERC-777 permitem interação como se fossem contratos ERC-20.

Leitura Adicional

EIP-777: Padrão de token(opens in a new tab)

Este artigo foi útil?