Learn Ethereum development and acquire complex technical concepts in a snap!
Second State Inc is to release Ethereum development A2Z series articles to help you learn Ethereum in a short time starting from the basics, with real blockchain development cases.
This article is to introduce Smart Contract ABI, the first piece in the series.
Blockchain Smart Contract ABI is the interface between smart contracts and blockchain applications. After a smart contract is compiled into a binary file by a compiler like BUIDL, an ABI for this smart contract is automatically generated, recording the functions and parameters of the smart contract. When a user uses a blockchain application, the smart contract will be called with this ABI.
What is an ABI
ABI is the abbreviation for Application Binary Interface, which is the interface for applications to call binary application files. ABI is a convention that is customary.
Just like we press the buttons on the remote control to lower/adjust the temperature, we use ABI to control a program’s parameters. The remote control is equivalent to an ABI, which records the functions and parameters, like the air conditioner’s heating/cooling, and the highest and lowest temperature that the air conditioner can achieve. As the functions of the air conditioner expand: the sleep mode, ventilation, etc., the buttons on the remote control (ABI) also grow.
An ABI enables user's interaction with the program.
ABI in the development of Ethereum
In the Ethereum/Blockchain development, smart contract ABI is very common. After a smart contract is compiled, the compiler automatically generates an ABI to record the functions and parameters of the smart contract. When blockchain applications are used, people use ABIs to call smart contracts to implement related functions.
Take the default code in the BUIDL IDE developed by Second State Inc, a blockchain infrastructure software technology company, as an example. The code of the smart contract is as follows:
The ABI generated by the smart contract is an array of JSON format, with a parameters name-value pair. When the smart contract is called, it is via ABI we know what certain functions the smart contract implement and what the parameters are.
Note: ABI is not unique. The smart contract implementations with the same functionality can have the same ABI.
About BUIDL IDE - An One-Stop Blockchain Development Tool
The BUIDL IDE is a highly integrated and fully browser-based development tool that allows developers to easily create and deploy blockchain applications (DApps) with BUIDL, saving a lot of time by eliminating the need to install any software and blockchain wallets.
- Built-in account management system, no wallet software required;
- Write, compile and deploy smart contracts;
- One-click publishing of DApps to Github Pages；
- Deployment on Ethereum and any blockchain compatible with Ethereum;
- Access to the built-in Web3 library；
- Support of rule-based smart contracts;
- Built-in real-time smart contract search engine based on ElasticSearch;
- BUIDL Intro Page https://www.secondstate.io/buidl/
- BUIDL IDE https://buidl.secondstate.io/
- BUIDL Documentation https://docs.secondstate.io/buidl-developer-tool/getting-started
- BUIDL GitHub Repo https://github.com/second-state