ERC means Ethereum Request for Comments. This is an official protocol to propose enhancements to the Ethereum network. ’20’ is the unique identification number of the proposal. This is where the ERC20 Token takes its name.
Essentially, the ERC20 tokens are smart contracts that run in the Ethereum blockchain. While the ERC20 tokens work within the framework established by the Ethereum team, the framework is broad enough to simultaneously allow developers considerable flexibility in the design and function of the tokens. Most of the tokens created through ICOs in Ethereum comply with ERC20.
Similar to how the HTTP protocol defined the Internet, ERC20 is a protocol that defines a set of rules that a token should implement. ERC20 is not a technology, software or piece of code. It is a technical specification. If a token implements the specification, it is an ERC20 token.
The improvement proposal was presented by Fabian Vogelsteller at the end of 2015. ERC20 is the standard by which many popular Ethereum tokens are governed. In fact, it allows smart contracts to act much like a conventional cryptocurrency such as Bitcoin or Ethereum. A token housed in the Ethereum blockchain can either be sent or received, its total supply can be verified, and it is also possible to verify the amount available at an individual address. This is analogous to sending and receiving Ether or Bitcoin from a wallet, knowing the total amount of coins in circulation and knowing the balance of a particular currency. As we noted earlier, an intelligent contract that follows this standard is called an ERC20 token.
The ERC20 protocol defines a set of rules that must be fulfilled for a token to be accepted and named as ‘ERC20 Token’. The standard rules apply to all ERC20 tokens since these rules are required to interact with each other in the Ethereum network. These tokens are blockchain assets that have value and can be sent and received, such as Bitcoin, Litecoin, Ethereum or any other cryptocurrency.
The difference between these tokens and an independent currency like Litecoin is that the ERC20 tokens are supported by the Ethereum network, hosted by Ethereum addresses and sent by Ethereum transactions.
The ERC20 standard has 6 functions and 2 events. The standard was created to allow interoperability between applications, exchanges, and interfaces. The functions describe how tokens can be transferred and how data related to tokens can be accessed. The events establish format guidelines for transfers and approvals. Smart contracts in Ethereum, including all ERC20 contracts, are written in Solidity.
ERC20 defines the following functions :
- balanceOf
- totalSupply
- transfer
- transferFrom
- approve
- allowance
It also has some optional fields such as the name of the token, the symbol and the number of decimals with which it will be measured.