The article covers the basic fundamentals of the ERC standards and offers an in-depth analysis of each type of ERC token standard.
Are you an Ethereum blockchain developer, or an entrepreneur planning to issue Ethereum-based tokens? You might be looking around to find what ERC standards mean and how they matter to you.
Here is the ultimate list of ERC standards!
Enroll now: Enterprise Blockchains Fundamentals Course
What are ERC standards?
An ‘Ethereum Request for Comments’ (ERC) is a document that smart contract programmers using the Ethereum blockchain platform write. They describe rules in these documents that Ethereum-based tokens must comply with.
If you’re not familiar with the fundamentals of Ethereum, you should check out the ultimate Ethereum guide first.
The Ethereum community uses a process called the ‘Ethereum Improvement Proposal’ to review these documents. They comment on it and as a result of that, the developer that created the document may revise it.
The Ethereum community accepts some of these documents after working through the EIP process, finalizes it, and then developers implement it. This is how the document becomes an ERC. In other words, ERCs originate as EIPs and could address different areas, for e.g., tokens, registration name, etc.
ERC STANDARDS – SIMPLY EXPLAINED INFOGRAPHIC
While there are several Ethereum standards. These ERC Ethereum standards are the most well-known and popular –
- ERC- 20
ERC 20 standard – The Most Popular Token Standard
ERC-20 is the most popular token standard and most ICOs that have issued their tokens on the Ethereum platform have used it. Learn more about what is an ICO here!
If you are an Ethereum developer, you can code your smart contracts assured with the knowledge that it can easily interact with ERC-20 tokens.
Just like the Ethereum developers needn’t know anything more about that token, wallet developers can also breathe easy! They don’t need to do any custom development or integration steps to ensure the token works with their wallet app.
It’s a fungible token standard. This means that two coins of any token built on it have the same value at a given point in time. Take the example of LockChain, the decentralized 0%-commission travel marketplace. Their LOC token follows ERC 20, and 1 LOC token has exactly the same value as another LOC token at a certain point in time.
There is a standard protocol to follow, hence issuing new tokens using ERC 20 standard is easy. You should check out this beginners’ guide, to learn more about — what is ERC20?
ERC 165 – The Supporting Pillar of ERC 721
This is really a standard for a method, instead of tokens. However, it’s important for another token standard, ERC721, which can’t be implemented without it.
More on ERC721 later!
A smart contract needs to interact with crypto tokens. While all contracts can interact with ERC 20 tokens, it’s different from other ERC standards for tokens, like ERC 721. Smart contracts need to implement specific interfaces to interact with tokens following other standards.
Now, the Ethereum development community needs to know which interfaces a smart contract implements, and there is a need to publish this information. This is because they need to know in which ways they can interact with that contract.
There wasn’t a standard method to detect interfaces that a smart contract uses, and to publish it. ERC 165 standardizes a method for this, besides standardizing the identification of interfaces.
Read more about it in the EIP 165 proposal document.
ERC 721 – The Standard for Non Fungible Tokens
Do you want to develop an Ethereum DApp game like CryptoKitties? Axiom Zen, a Vancouver, British Columbia, Canada based company launched it in the last week of November 2017, and by the first week of December, it went viral! Players spent millions of US dollars’ worth of Ether on it within a week.
In this game, players can buy, sell, and breed cute digital kittens. With the transparency that the Ethereum blockchain platform offers, everyone can see the rules of the game, hence the competition is fair. If you can breed a rare breed of digital kittens, you can get a higher price for them.
Each one commands a different price; hence you can’t use ERC 20 standard for the kittens. You need a non fungible token standard, and that’s what ERC 721 is.
There are other use cases too for non fungible tokens, e.g., the power distribution sector can use them.
A smart contract that will interact with ERC 721 tokens must implement a separate interface, and hence it needs to follow the ERC 165 standard. Read more about ERC 721 in the EIP 721 proposal document.
ERC 223 – Solves the ‘Token Loss’ Issues of the ERC20
If you send ERC 20 tokens to smart contracts that can’t handle tokens, this action burns the tokens, and you can’t recover them. ERC 223 proposes to prevent this.
Developers can either accept or decline tokens arriving at their smart contract addresses. It specifies functions that a contract can code so that if it can’t accept tokens, the transfer will fail.
This doesn’t burn any token!
While ERC 223 intends to save wealth lost accidentally, it’s not yet implemented. No tokens use it, and crypto exchanges may not be prepared for this standard.
Check out the detailed comparison between ERC20 vs ERC 223 vs ERC777.
Also, Ethereum’s move to implement ‘Ethereum Name Service’ (ENS) will make such transactions very rare. Hence, we need to see if the Ethereum community will implement this proposal. Read more about this standard in the ERC 223 GitHub documentation.
ERC 621 – Can Modify the Total Token Supply
An extension to ERC 20, this standard is to increase or decrease total token supply using two functions, i.e., ‘increaseSupply’, and ‘decreaseSupply’. The proposal recommends that only contract owner or trusted users should use them.
Cryptocurrencies are mathematical money, unlike fiat currencies where central banks can increase or decrease the supply. Total token supply is one among many factors determining token appreciation and impacts the economics of a token.
This proposal is a draft, and we need to see whether the Ethereum community will implement it, given the wide-ranging impact. Read more about the proposal in the EIP 621 GitHub documentation.
ERC 777 – Reduces Friction in Crypto Transactions
While invoking a smart contract, after the first transaction, the ERC 20 standard requires another transaction to verify whether the criteria are met. The smart contract is invoked only after this. This increases the number of transactions, effectively causing friction.
ERC 777 is a proposed standard that includes a function to identify receipt of tokens and start a smart contract immediately after the first transaction. While lowering the transaction overhead, it also allows a user to reject incoming tokens from a blacklisted address. Blacklisting of an address can be for various reasons such as hacking or illegal activities. An ability to decline payment from such an address improves the security position of an Ethereum DApp.
ERC 777 upholds all strengths of ERC 20. OpenZeppelin has already implemented ERC777 to build, automate, and operate decentralized applications.
You can read the proposal in the EIP 777 GitHub document.
Don’t forget to check out the comparison between ERC 20 vs. ERC 223 ERC 777!
ERC 827 – Enables Token Transfer for A 3rd Party to Spend It
It’s another extension of ERC 20, however, it intends to resolve the problem that ERC 223 tries to solve, in an enhanced manner. If this standard is implemented, a token holder can transfer tokens while also approving a 3rd party to spend it.
With this ERC standard, wallets and exchanges can reuse tokens, because both parties agree on specific criteria for a 3rd party to spend a dynamic amount. The Ethereum community hasn’t implemented it yet, however, you can read more about this proposal in the EIP 827 GitHub documentation.
ERC 884 – Tokenizes Stock
Recent legislation in the US state of Delaware now allows companies to use blockchain to maintain share registries. Among proposed ERC standards, ERC 884 intends to take advantage of it. It will designate each token as a share of a corporation incorporated in the Delaware state.
To comply with regulations, ERC 884 also includes the following:
- Identity verification and mandatory whitelisting of token holders;
- The corporation can prepare a list of shareholders according to the regulatory requirements;
- Recording of information regulators mandate;
- Record transfer of shares according to regulatory requirements;
- Only whole value of tokens, i.e., no partial value;
- Shareholders that lost their private keys or tokens must get them back to a new address.
Implementing ERC 884 requires an off-chain database for various ‘Know Your Customer’ (KYC) requirements. It’s still a draft proposal, and you can read it in the EIP 884 GitHub document.
ERC 865 – Helps the Beginners in the Crypto World
As a user new to crypto, when you try to transfer Ethereum-based tokens, you suddenly find that you need to pay miner fees in Ether. It increases friction for you.
Among ERC standards developers in the Ethereum community has proposed, ERC 865 intends to make it easy for new crypto users. It proposes using the token to pay the miner fees as well. It’s a draft proposal, and you can read it in the EIP 865 GitHub document.
ERC 1155 – The Most Advanced Non Fungible Token
ERC 1155 solves all the major issues of ERC 20 and ERC 721 — the former best token standards for non fungible tokens. For ERC 1155, users can create multiple tokens in a single contract. Also, you can use ERC-1155 for the fungible and non-fungible use cases. All of these traits make ERC1155 better at storage management, efficient, and budget-friendly.
Learn more here in this EIP-1155 documentation.
There are several other token standards — apart from the ERC standards. For example, NEP5 token from NEO is very similar to ERC20 and ERC223. Also, each of these token standards serves different purposes and has its own advantages and disadvantages.
To have a better understanding of the fundamentals, you should consider this FREE course on Enterprise Blockchains Fundamentals.