Définition
Un ABI (Application Binary Interface) dans une blockchain, en particulier dans les systèmes basés sur l’EVM, est une spécification formelle qui définit comment des entités externes interagissent avec un smart contract compilé au niveau du bytecode. Il décrit les fonctions appelables du contrat, ses événements et ses structures de données dans un format lisible par une machine, incluant les noms, les types d’arguments et de valeurs de retour, ainsi que les règles d’encodage pour les requêtes et les réponses.
En termes simples
Un ABI est une description technique de la surface publique d’un smart contract. Il répertorie quelles fonctions et quels événements existent, et comment les données doivent être formatées pour que les logiciels puissent communiquer correctement avec le code compilé du contrat.
Contexte et utilisation
L’ABI est au cœur de l’interaction entre les smart contracts et les appelants off-chain ou on-chain dans les environnements compatibles EVM. Il est généralement généré à partir du code source de haut niveau du contrat et consommé par des outils, des bibliothèques et des clients RPC pour construire et décoder les charges utiles de transaction et les logs. Les définitions d’ABI permettent une communication cohérente et déterministe avec le bytecode des contrats déployés, à travers différentes implémentations et plateformes.