[Ethereum] an ABI and why is it needed to interact with contracts

abicontract-debuggingcontract-developmentdapp-developmentevm

ABI is referenced in many places including the official Ethereum website. What is an ABI and why is it necessary to use?

Best Answer

ABI stands for application binary interface.

In general, an ABI is the interface between two program modules, one of which is often at the level of machine code. The interface is the de facto method for encoding/decoding data into/out of the machine code.

In Ethereum, it's basically how you can encode Solidity contract calls for the EVM and, backwards, how to read the data out of transactions.

Related Topic