Everything You Need to Know About ERC20 Tokens
Ethereum is an extremely popular cryptocurrency and blockchain. Despite the extreme volatility of the crypto market, it has continued to hold strong as the second most popular cryptocurrency after Bitcoin and shows absolutely no sign of backing down any time soon.
The Ethereum blockchain is based on the use of tokens. These tokens can be bought, sold, or traded. You can think of tokens as smart contracts that make use of the Ethereum blockchain.
These tokens are not to be confused with ‘Ether’, which is the cryptocurrency native to the Ethereum blockchain.
One of the primary token standards for Ethereum is known as ‘ERC20’, which was developed back in 2015.
What does ‘ERC20’ Token Actually Stand For?
Despite what many people think, ERC20 is not a type of technology or software, and it is not a piece of code. Rather, it is a technical specification. If a token implements this specification, then it meets the requirements to be classed as an ERC20 token.
‘ERC’ stands for ‘Ethereum Request for Comments’. This is an official protocol for proposing improvements on the Ethereum network.
‘20’ is the unique proposal ID number. This is the most widely used token standard, but it is not the only one. Other recently proposed standards include ERC223 and ERC271.
What is a Token?
Essentially, tokens are digital assets that exist on top of a blockchain. They have value attached to them (for example, they might represent coins, loyalty points, or in-game assets), and they can be sent and received between users.
It is important to note that while ‘cryptocurrencies’ and ‘tokens’ are closely related, they are entirely separate concepts and the terms should not be used interchangeably.
What is the Difference Between and ERC20 Token and Other Tokens?
ERC20 tokens essentially ‘piggyback’ on the Ethereum network. They are hosted on Ethereum addresses, and they are sent by Ethereum transactions.
ERC20 defines a standard list of rules that an Ethereum token has to implement. In order for a token to be accepted and classed as an ‘ERC20 Token’, this set of rules must be followed.
Whilst it is not an enforced rule to ensure that tokens are ERC20 compliant, it is a rule that most dapp (decentralized application) developers are encouraged to follow. This is because it ensures that the tokens they create can interact with wallets, exchanges, and smart contracts without issues.
As a result, developers can accurately predict how new tokens will function within the larger Ethereum system as a whole. It also provides assurance that projects will not need to be redone each time a new token is released.
All Ethereum smart contracts, including all ERC20 contracts, are written in the Solidity programming language. This is a statically typed, high-level, object-oriented programming language that makes use of a variety of concepts used by JavaScript, Python, and C.
The Rise of ERC20 Tokens
Over the past couple of years, the ERC20 token protocol has become extremely popular with crowdfunding companies who are launching their own Initial Coin Offerings (ICOs).
Most of the tokens that have been created through Initial Coin Offerings on Ethereum so far are ERC20 compliant. As of February 2018, there were a total of over 37,000 ERC token contracts.
Some of the most successful ERC20 tokens sales witnessed to date include those of EOS, Sirin Labs, and BANKEX.
Which Wallets Support ERC20 Tokens?
In order to store your tokens and participate in token sales, you will first need to find a wallet that supports these tokens.
There are a number of wallets that support ERC20 tokens. Some of the most popular include:
- MetaMask is an extremely convenient wallet. It is a plugin for FireFox, Chrome, Opera, and the Brave browser that supports all ERC20 tokens and acts as a secure storage solution. It is a desktop wallet.
- Trust is an officially endorsed Ethereum wallet that is capable of storing any ERC20 or ERC223 token. It is available for both Android and iOS. It is a good option for those who prefer convenience over security. It is an Android/iPhone wallet.
- Parity is one of the major wallet solutions available for desktop users and therefore has native support for ERC20 tokens. It is a desktop wallet.
There are many more compatible wallets, including: MyEtherWallet, imToken, and Cipher.
Some of the incompatible wallets that you can NOT use for token sales include: Jaxx, Exodus, Coinbase, Poloniex, Kraken, Bitstamp, Bitfinex, Bittrex, Cex.io
What Are the Requirements for a Token to be ERC20 Compliant?
In order for a token to be ERC20 compliant, it must adhere to a set of six executable functions and two logging events that can be identified by other smart contracts so they can interact with each other.
These six functions include:
- Allowance
- Approve
- BalanceOf
- TotalSupply
- Transfer
- TransferFrom
When a smart contract is executed, the six functions will then enable it to carry out four required basic activities.
These activities include:
- Retrieving the total token supply
- Retrieving the account balance
- Transferring the token from one party to another
- Approving the token to be used and exchanged as a monetary asset
Before the ERC20 token came about, every ICO token essentially has to implement their own version of these basic functions.
For example, it would have its own function for transferring tokens, and this would usually include its own unique name and arguments. This made it incredibly difficult to trade between two different tokens. Developers would need to study the intricacies of each contract very closely.
On the other hand, ERC20 tokens all have the same functions that have the same names and take the same arguments. This makes it very simple to trade between different tokens, no matter how many there are.