Apibrėžimas
ABI (Application Binary Interface) blokų grandinėje (blockchain), ypač EVM pagrįstose sistemose, yra formalus aprašas, kuris nustato, kaip išorinės sistemos sąveikauja su sukompiliuotu išmaniuoju kontraktu baitkodo lygiu. Jame aprašomos iškviečiamos kontrakto funkcijos, įvykiai ir duomenų struktūros mašinai skaitomu formatu, įskaitant pavadinimus, argumentų ir grąžinamų reikšmių tipus bei užklausų ir atsakymų kodavimo taisykles.
Paprasčiau tariant
ABI yra techninis išmaniojo kontrakto viešojo paviršiaus aprašymas. Jame išvardijama, kokios funkcijos ir įvykiai egzistuoja ir kaip turi būti suformatuoti duomenys, kad programinė įranga galėtų teisingai komunikuoti su sukompiliuotu kontrakto kodu.
Kontekstas ir naudojimas
ABI yra esminis elementas sąveikai tarp išmaniųjų kontraktų ir už grandinės (off-chain) ar grandinėje (on-chain) veikiančių kviečiančiųjų EVM suderinamose aplinkose. Paprastai jis sugeneruojamas iš aukšto lygio kontrakto pirminio kodo ir naudojamas įrankių, bibliotekų bei RPC klientų, kad būtų galima suformuoti ir dekoduoti transakcijų naudingąją apkrovą ir žurnalus (logs). ABI apibrėžimai leidžia užtikrinti nuoseklią, determinuotą komunikaciją su įdiegtu kontrakto baitkodu skirtingose implementacijose ir platformose.