ERC-20 is a technical standard for a certain kind of crypto token that allows for utility use. It is the most common type of token, but there are many other standards for tokens on the Ethereum blockchain.
The Ethereum blockchain has a native token, ether, that powers the operations of the blockchain itself.
However, Ethereum was designed to allow anyone to create other tokens, which can be used within DApps that run on the Ethereum blockchain.
When you have lots of different tokens running on the same blockchain, you want to make sure that those tokens are easily exchangeable and that they can be moved around on the network with ease. ERC-20 makes this possible.
ERC-20 enables interaction between different tokens and DApps by providing a common standard for designing and using tokens and smart contracts.
The ERC-20 standard establishes six mandatory functions that developers must define using code (specifically, code written in the Solidity programming language) in order to create a new token on Ethereum. The functions include information such as how many tokens of a given type exist in total and how to transfer tokens from one account to another.
The ERC-20 standard also includes a few optional functions, such as the name of the token. ERC-20 tokens will work and meet the goals of the standard even if these nonmandatory functions are absent.
Following the ERC-20 standard when designing a new token ensures that your token will follow a proper set of rules on the Ethereum network and can be easily traded. However, there are other token standards used on Ethereum.
Depending on the kind of token a group wants to create, it may choose to follow other token standards, such as ERC-721, which is used for non-fungible tokens or tokens that are individually unique. These tokens can represent unique real-world items such as collectibles and property.
It’s worth noting that ether, the token that powers Ethereum, is not ERC-20 compliant.
Although that may seem surprising at first, it makes sense; ether’s purpose is to serve as the payment mechanism for people who run DApps while using the data and compute resources of the Ethereum network. This is different from serving as a utility token within a DApp, which is the purpose of ERC-20 tokens.