Ethereum is a programmable protocol that allows anybody with great ideas to build whatever they want on it. As such, blockchain companies hire developers to help them build their projects on the Ethereum network. They often also issue tokens to the public. These tokens serve to give users access to their utility products. Some tokens serve for governance purposes or as incentives for performing certain duties for the project. To create these tokens, developers follow a set of rules that align with what they hope to achieve for these projects. These rules are what we refer to as Ethereum token Standards.
They are smart contract standards which guide developers on how to deploy their smart contracts on the Ethereum Blockchain. These guidelines make their applications and tokens compatible with existing infrastructure on the Ethereum network (Wallets, Softwares, Exchanges etc).
What are Ethereum token standards?
They are written rules or guidelines for the creation and deployment of new tokens on the Ethereum Blockchain. Certain functions are specified in them which each token type need to have to be interoperable with other tokens. These functions help facilitate any smart contract’s interaction with other applications, other smart contracts and/or individual addresses.
Before we dive into these Ethereum Token Standards fully, let’s take a look at various token types that can be programmed on the Ethereum Blockchain.
Token Types specified by Ethereum token standards
A token can be any virtual representation of anything on Ethereum blockchain. It can serve as a company’s share or as a tradable financial asset. Some can be in the form of game assets such as skills sets or skins of a character in a game. We also have those that serve as fiat currencies on the blockchain – stablecoins. Other purposes include using them as reputation points, incentives, lottery tickets, among others.
Here are the forms in which they exist:
Fungible tokens
These type of tokens are interchangeable with each other. This simply means that one token is exactly equal in value to another token of the same contract address. Thus, fungibility refers to each token’s equivalence and interchangeability with the other tokens of the same contract.
A good example of a fungible token is Tatcoin. Tatcoin is a utility token that give holders access to product discounts on the Tatspace ecosystem. 1 tatcoin on any wallet is equal to 1 tatcoin on another wallet. Both are similar in every aspect and is interchangeable with each other at same market value.
Non-Fungible tokens
This type of tokens are very unique. They are one of a kind, even if there are many of them sharing the same contract address. Popularly, people refer to them as NFTs for short. In essence, they are not interchangeable with each other.
Each NFT item has special traits, features, and possibly visuals that distinguishes it from others. Even if two NFTs happen to look alike, they have different market values. They may never be equated to or be replaceable with each other. We will learn more about NFTs in another article.
Semi-Fungible tokens
These set of tokens combine partial features of the fungible and non-fungible tokens into one. A good example are concert tickets minted on the Blockchain. Irrespective of whether they all look alike or not, they are all of the same value. However, one thing stands each one out: their seat numbers are different.
Though you can swap one for another, but doing so means you get a different seat number. Thus, they are still unique even though they are equal in value.
With this understanding of the token types in existence, let’s now look at the four most popular Ethereum token standards.
Popular Ethereum Token Standards
Most Ethereum token standards are denoted by these letters – ERC. This is an acronym for the term “Ethereum Request for Comments.” The Ethereum network is community run, by people from all over the world. Therefore, improvements and developments on the network usually come as suggestions from community members. Hence the name, Ethereum Request for Comments.
Any Community member with ideas on how to advance the network submits some Ethereum Improvement Proposals (EIP) document. Ethereum core developers take a look at this proposals to check its usefulness to the network. The community of developers can choose to implement the proposal if they find it valuable to the network.
Such EIP becomes a part of the Ethereum network, and is set out as an essential guideline for other developers. It becomes an ERC token standard that guides the development of specific smart contracts on the Ethereum Blockchain.
The most popular Ethereum token standards today are ERC-20, ERC-721, ERC-777 and ERC-1155.
ERC-20 Token Standard
This is the most common of all Ethereum token standards in existence today. Vitalik Buterin, Ethereum co-founder and Fabian Vogelsteller, an Ethereum developer, came up with this standard in November of 2015.
This standard contains guidelines for minting fungible tokens within smart contracts on Ethereum. It stipulates that fungible token developers should include a set of six compulsory functions in their codes. These functions enable their tokens to be interoperable with other ERC-20 tokens. It makes them compatible with existing services on the Ethereum network (like using Metamask, listing on Exchanges, etc). They do not need to build everything from the scratch.
Unlike ether, ERC-20 tokens are not found on accounts. They are not mined neither are they native to the Ethereum Blockchain. Rather, they simply exist within the smart contracts used to create them. When users send or receive ERC-20 tokens, they are interacting with these smart contracts on the blockchain.
Developers using this token standard do not need to invent something entirely new. Instead, they build on something already in use by the community. This makes it easier for their tokens to interact easily with existing services and softwares.
Contents of ERC-20 Token Standard
An ERC-20 token contract should have the following functionalities:
1. A function that calls up the total supply of the token.
2. Another function that can state the token balance of each address.
3. A function that allows owners of addresses to initiate transfers to other addresses.
4. A function that lets the owner of an address to authorize a smart contract dApp to transfer funds on their behalf.
5. Another function that enables the user to limit the number of tokens that the authorized person can transfer for them.
6. Then, it should contain a function that lets users see how this third party is making transfers on their behalf. They can view how much tokens have been sent from the limitations they set up using the 5th function.
Developers can also customize their tokens to serve a specific purpose within their smart contract. This includes giving it a notable name, ticker, and virtual symbol. Other features include deciding what type of tokens they want. It can be a Stablecoin (a fiat currency on the blockchain), a utility token, a security token (representing some real life items), a governance token for a DAO, as well as a reward token in games.
Generally, ERC-20 tokens are flexible, fungible and the most popular in terms of interoperability and network services available to them. However, their use can be mitigated by the Ethereum network’s current scalability issues. They are also easy for use in scams.
ERC-721 token standard
This token standard is strictly for the development of non-fungible tokens on the Ethereum protocol. It was proposed by a group of developers, led by William Entriken, in January 2018.
It has similar functionalities as ERC-20 tokens, but is basically for minting tokens that are not interchangeable with each other. These tokens can represent digital collectibles, game avatars/items, pfps and digital arts. They can also be tokens representing physical items, event tickets, poaps or domain names on the blockchain.
One major limitation it has is the fact you can only transfer one token per transaction.
ERC-777 token standard
This token standard seeks to solve some challenges inherent on ERC-20 tokens. It makes sending and receiving tokens more efficient using ‘Hooks’.
Hooks make it possible to send one message to a smart contract when a transaction is initiated. ERC-20 standard allows for sending tokens in one message while notifying the contract in another. ERC-777 puts this in one message.
ERC-777 also has the ability to reject transactions involving addresses on a blacklist. Users also stand a chance of getting back their tokens if they mistakenly send it to non-existent addresses.
This token standard is also backwards compatible with ERC-20 tokens. Thus, tokens on ERC-20 standard can interact with those built on ERC-777 standard. This is possible because the latter uses similar functions as the first, but has additional functionalities.
ERC-1155 token standard
Of the popular ethereum token standards, this one seeks to eliminate the focus on fungibility. It allows for the creation of both fungible and non-fungible tokens. It is also highly gas efficient as it allows for transferring of NFTs in batches. This is unlike the ERC-721 which requires these NFTs to be sent one at a time.
This token standard was introduced by the Enjin team to enable features unavailable with the ERC-721 standard. By putting many transactions in one batch, ERC-1155 reduces the incidences of flooding Ethereum network with many transactions. This subsequently reduces the cost of initiating transactions involving many tokens. Thus, multiple assets (whether fungible or non-fungible) can be bundled into one smart contract for cheaper transaction fees.
Conclusion
Ethereum token standards make it easy for anyone to build their projects on the Ethereum Blockchain. They give developers access to existing services, softwares and other supportive infrastructure on the network.
These Ethereum token standards can be used to develope any type of token possible. Which one a developer uses depends on the type of tokens they want to create. It could be fungible or non-fungible tokens.
Though there are many other Ethereum token standards in existence today, these ones are the most popular. You interact with them daily as you use tokens minted on the Ethereum network. It doesn’t matter if you are a great crypto currency trader or a skilled NFT flipper.
Which of the token standards is your favorite from the lot? I hope to get feedbacks from you soon. Do drop a comment or a question below.