Definição
Uma ABI (Application Binary Interface) em tecnologia de cadeia de blocos (blockchain), especialmente em sistemas baseados em EVM, é uma especificação formal que define como entidades externas interagem com um smart contract compilado ao nível do bytecode. Descreve as funções invocáveis do contrato, eventos e estruturas de dados num formato legível por máquina, incluindo nomes, tipos de argumentos e de retorno, e regras de codificação para pedidos e respostas.
Em termos simples
Uma ABI é uma descrição técnica da interface pública de um smart contract. Lista quais funções e eventos existem e como os dados têm de ser formatados para que o software consiga comunicar corretamente com o código compilado do contrato.
Contexto e utilização
A ABI é central para a interação entre smart contracts e chamadores off-chain ou on-chain em ambientes compatíveis com EVM. É normalmente gerada a partir do código-fonte de alto nível do contrato e utilizada por ferramentas, bibliotecas e clientes RPC para construir e descodificar os payloads das transações e os registos (logs). As definições de ABI permitem uma comunicação consistente e determinística com o bytecode de contratos já implementados, entre diferentes implementações e plataformas.