Definition
ABI (Application Binary Interface) ในบริบทของ บล็อกเชน (blockchain) โดยเฉพาะระบบที่ใช้ EVM เป็นสเปกอย่างเป็นทางการที่กำหนดว่าภายนอกจะโต้ตอบกับ smart contract ที่ถูกคอมไพล์แล้วในระดับ bytecode ได้อย่างไร โดยอธิบายฟังก์ชันที่เรียกใช้ได้ของสัญญา เหตุการณ์ (events) และโครงสร้างข้อมูลต่าง ๆ ในรูปแบบที่เครื่องอ่านได้ รวมถึงชื่อ ประเภทของอาร์กิวเมนต์และค่าที่ส่งกลับ ตลอดจนกฎการเข้ารหัสสำหรับคำขอและการตอบกลับ
In Simple Terms
ABI คือคำอธิบายเชิงเทคนิคของส่วนที่ smart contract เปิดให้ใช้งานสาธารณะ โดยจะระบุว่ามีฟังก์ชันและเหตุการณ์อะไรบ้าง และข้อมูลต้องถูกจัดรูปแบบอย่างไร เพื่อให้ซอฟต์แวร์สามารถสื่อสารกับโค้ดที่คอมไพล์แล้วของสัญญาได้อย่างถูกต้อง
Context and Usage
ABI เป็นหัวใจสำคัญของการโต้ตอบระหว่าง smart contract กับผู้เรียกใช้ทั้งแบบ off-chain และ on-chain ในสภาพแวดล้อมที่รองรับ EVM โดยทั่วไปจะถูกสร้างจากซอร์สโค้ดของสัญญาระดับสูง และถูกใช้งานโดยเครื่องมือ ไลบรารี และไคลเอนต์ RPC เพื่อสร้างและถอดรหัส payload ของธุรกรรมและ log ต่าง ๆ คำจำกัดความของ ABI ทำให้สามารถสื่อสารกับ bytecode ของสัญญาที่ deploy แล้วได้อย่างสม่ำเสมอและคาดเดาได้ แม้จะอยู่บน implementation และแพลตฟอร์มที่แตกต่างกัน