With the arrival of the Ethereum Network, the crypto community saw a revival. Vitalik Buterin's vision led to the birth of the alt-coin market, and a few years after going live, the Ethereum Network now supports more than 200,000 ERC-20 token contracts. To sift through the endless list, click here: https://etherscan.io/tokens
image credit: investinblockchain
So, what is an ERC-20 token? Well, ERC stands for Ethereum Request for Comment, with 20 being a the modifier that refers to a specific proposal. So, essentially, the ERC-20 is a set of guidelines that were proposed for minting coins on the Ethereum Network. At first, developers that were creating a dApp and needed their own cryptocurrency would just kind of create a smart contract from scratch, and launch an initial coin offering. The problem is, if every dApp developer creates their own coin with no regard for any other developers, then none of these coins can interact, or be exchanged. By introducing the ERC-20 guidelines, developers were given a sort of toolkit for creating tokens that can interact, whether in accounts, contracts, wallets, etc. without having to sit down to pour over each other's code. These simple guidelines are the reason why you can send any ERC-20 token to an Ethereum wallet without having to apply an update to the wallet. 200,000 different tokens that can be exchanged are a hell of a lot more useful than 200,000 different tokens that have zero integration with one another.
Here are the ERC-20 rules:
1,2, and 3 are optional for the developer.
1. They choose a Token Name.
2. They choose a Symbol.
3. They choose the number of decimals into which the coin can be divided.
4 through 9 are mandatory.
4. A developer must have a function to identify Total Supply. This lets everyone know the number of tokens that are in circulation.
5. Developers must include a Transfer function that can take coins from the Total Supply and deposit them into an account.
6. A Balance Of function must be integrated that allows developers the ability to check the balance of tokens in a given account.
7. There must be a Transfer From function that allows for the transfer of tokens from user to user.
8. An Approve function must be able to check transactions against the total supply. In this way, a developer ensures that there are no fake tokens in the supply, and ensures that no tokens are missing due to unforeseen circumstances.
9. By integrating an Allowance function, developers ensure that a transaction is canceled when an account is found to have insufficient funds.
image credit: openledger.io
There are a variety of different guidelines to choose from when developing a token on the Ethereum Network. At the moment, ERC-20 is sort of the standard set of standards. It is becoming apparent that this will not always be the case. More robust guidelines may be necessary. As the Ethereum Network evolves and new ideas come into play, there is room for improvement, and undoubtedly, things will change in time. Ethereum is only a few years old. There's no telling what tokens will look like in the future.