Definition
Ένα ABI (Application Binary Interface) σε τεχνολογία blockchain, ειδικά σε συστήματα που βασίζονται σε EVM, είναι μια επίσημη προδιαγραφή που ορίζει πώς εξωτερικές οντότητες αλληλεπιδρούν με ένα μεταγλωττισμένο smart contract σε επίπεδο bytecode. Περιγράφει τις συναρτήσεις που μπορούν να κληθούν, τα events και τις δομές δεδομένων του contract σε μορφή αναγνώσιμη από μηχανές, συμπεριλαμβανομένων των ονομάτων, των τύπων ορισμάτων και επιστρεφόμενων τιμών, καθώς και των κανόνων κωδικοποίησης για αιτήματα και απαντήσεις.
In Simple Terms
Ένα ABI είναι μια τεχνική περιγραφή της «δημόσιας επιφάνειας» ενός smart contract. Καταγράφει ποιες συναρτήσεις και ποια events υπάρχουν και πώς πρέπει να μορφοποιούνται τα δεδομένα ώστε το λογισμικό να μπορεί να επικοινωνεί σωστά με τον μεταγλωττισμένο κώδικα του contract.
Context and Usage
Το ABI είναι κεντρικό στοιχείο για την αλληλεπίδραση μεταξύ smart contracts και καλούντων, είτε off-chain είτε on-chain, σε περιβάλλοντα συμβατά με EVM. Συνήθως παράγεται από τον πηγαίο κώδικα υψηλού επιπέδου του contract και χρησιμοποιείται από εργαλεία, βιβλιοθήκες και RPC clients για τη δημιουργία και την αποκωδικοποίηση των payloads συναλλαγών και των logs. Οι ορισμοί ABI επιτρέπουν συνεπή και ντετερμινιστική επικοινωνία με το αναπτυγμένο bytecode του contract σε διαφορετικές υλοποιήσεις και πλατφόρμες.