Ethereum blockchain developers use the ERC-20 standard as a set of common guidelines to streamline the network and interaction among dApps. The purpose of this article is to embrace Ethereum token standards, describe the prominent ones, and explain the key features, focusing on ERC-20.
What is a Token?
A token is a digital certificate that guarantees a Web3.0 project’s obligations to its owner, comparable to a stock on a stock exchange, but with some nuances.
Think of amusement park tokens. Coins with the park’s emblem, bought at the cash desk, can be used to ride on the merry-go-round, have fun at the shooting gallery, or eat ice cream. Park visitors purchase tokens with real money, but tokens are only valid within the park.
Blockchain-based projects issue their own unique tokens. The buyer of a token can, for example, increase the amount of storage in its database. Or, if a company’s tokens are essentially its digital shares, leave them until better times in the hope that they will go up in price.
What are Token Standards?
A token standard is a set of common guidelines developers follow to minimize the product development cycle. Let’s have a look at a specific example to understand token standards closer.
Imagine Bob wants to turn off Wi-Fi. To do so, he clicks on the Wi-Fi icon and then on the switch. The network is off, and Bob is happy. But what happened behind the scenes? The device’s operating system ordered the system controller to power off the Wi-Fi chip. Bob can do the same thing: directly command the system controller to turn off the Wi-Fi power.
Operating system developers and Wi-Fi chip manufacturers ensure that any chip will understand any operating system command and not force the user into a console. Similarly, token and application developers make sure any token can understand the commands of any blockchain application. Parties negotiate standards and then use them for new products.
The same happened to Web3.0 developers. Basic standards like ERC-20 include several standard-specific functions to deal with transactions. A quick example, so you understand. Each time you click the Send button in Metamask or any other Web3.0 wallet, your wallet accesses the transfer function. If the token developer calls this function differently, the wallet will not be able to work with such a token. Developers stick to specific methods, events, and functions to avoid confusion and scale the network’s interoperability. More about ERC-20 functions later in the article.
Ethereum Token Standards
Ethereum is a widely-adopted blockchain, which implies many different startups launch and keep building on Ethereum. The issue is every project might have its own priorities and goals. The system obviously needs flexibility, but it also requires an order to keep working properly.
The Web 3.0 technologies evolve and so does the code. Several years ago, developers were satisfied with relatively simple Transfer and Approve functions, but these are not enough for DeFi, NFT and GameFi anymore. A clear example would be NFT technology. To implement NFT, developers needed to make new token standards like FA2 on Tezos and ERC-721 on Ethereum. Major gaming, metaverse, and DeFi adoption waves on Ethereum can entail even more standards like ERC-777, ERC-1125, and ERC-4626.
What Is ERC-20 Standard?
ERC-20 sets some specific guidelines in stone for all fungible tokens on Ethereum. As a result, developers can keep building without worries. Imagine what could have happened if developers wouldn’t know how a new token launched operates, what to expect, etc. Instead of worrying, developers can forecast the possible outcome and act accordingly.
What Does ERC Mean?
ERC is short for Ethereum Request for Comment. Let’s break down what that means. Since Ethereum is an open-source network, a new technical standard can be proposed by any user through the community voting procedure. Users basically review someone’s code and leave comments, just like any social media, but the goal is to make those guidelines technical and improve the code.
Developers can initiate voting through Ethereum Improvement Proposal (EIP). Once other community members confirm EIP, it becomes ERC. If the proposed standard solves some important problem and other community members agree with a proposal, they can vote to make this proposal an official standard within the Ethereum ecosystem.
Why Was ERC-20 Created?
The Web 3.0 coding community mainly sticks to Solidity programming language because it has similarities with more popular languages like C++, JS, and Python, which have large communities willing to learn something new like blockchain technologies. As a result of this snowball, many blockchain startups are built on Ethereum.
But how do all these programmers build dApps and co-operate in terms of code? Vitalik Buterin thought ahead and pushed the idea of ERC-20 — the most prominent standard for Ethereum tokens at the moment. Nowadays, Ethereum developers all around the world can code and understand each other easily when it comes to Web3.0 dApp creation.
A particular feature of ERC-20 is a number of requirements that must be met for a token to be accepted and networked. Both amateur and advanced developers stick to the ERC-20 token standard, as it has lots of initial offering study cases, a broad coding community, and an expansive adoption rate.
Tokens built in tune with a specific set of established & approved functions are called ERC-20 tokens. These tokens are similar to other crypto assets, meaning users can store, trade, and transfer them.
What Are the Features of ERC-20?
Developers can easily interact with contracts, ecosystems, blockchains, and teams — all due to a set of features ERC-20 brings. Regardless of the core ideas, technical creativity, and innovations, smart contracts govern all ERC-20 tokens, which are a part of the Ethereum ecosystem. If you want to dive into the technical details of ERC-20, such as methods and events, make sure to visit Ethereum’s official page related to the EIP-20 proposal.
ERC-20 Logic and Rules
ERC-20 tends to make tokens as interoperable and widely used as possible. A developer may embed unique token-related mechanisms within a smart contract. However, there is a chance the contract functions well, but other developers and smart contracts can’t access it using universal logic.
Imagine that you created a set of gaming items, tying your native token to each game piece, and want players to trade on your marketplace. However, the marketplace can’t handle the features of your contract. Your marketplace requires a different smart contract to come along with your native token. What can you do to solve the issue? Set the standard.
Each ERC-20 token has a specific structure. Its code comprises two parts — the interface to “talk” with applications like wallets and the contract itself to execute the code. The code has to contain six specific functions:
- Total Supply
- Balance Of
- Transfer From
If you’re interested in details, have a look at this walk-through coding manual.
ERC-20 Core Functions
The technology provides several parameters for smart contracts. Six of them are considered mandatory, and three are discretionary yet recommended.
Here is the list of mandatory parameters:
- totalSupply: required for the total issue of digital assets, ensuring that no new ones can be created when the maximum is reached.
- Balance0f: required to determine the initial number of assets that are assigned to a particular address of the ICO organizers.
- Transfer: required to guarantee the transfer of assets to end-users.
- transferFrom: required for payment transactions users initiate.
- Approve: required to verify the possibility of the smart contract, based on the issuance in general, the distribution of digital coins.
- Allowance: required to verify that there is enough balance at a particular address to send digital assets to another address.
Want to learn more about the ERC-20 code architecture? Make sure to check out this Medium digest.
How to Deploy an ERC-20 Token?
If you want to launch your ERC-20 token, you have to set a smart contract built on the Ethereum blockchain. We won’t touch much coding in this article, but generally, you can deploy a contract in two ways:
- Launch ERC-20 with coding experience
- Launch ERC-20 without coding experience
Launch ERC-20: Coding Experience Required
Use the Solidity programming language to get started with a Testnet smart contract.
- Enter your Metamask and choose any Testnet available or add a network of your choice
- Head to a network-specific faucet to get some ETH for your Testnet
- Pick any Ethereum IDE and open a new Solidity file
- Write/paste a piece of Solidity code into your script
- Fill out empty fields and set the number of initial offering tokens, total token supply, your token’s ticker, etc.
But what if you’ve never coded? Read on!
Launch ERC-20: No Coding Experience Required
Even though ERC-20 token creation is essential, it’s not your one and only objective to build a Web 3.0 startup. Hundreds of crypto startups are launched worldwide every day, but just a few garner attention and bring actual value. If you want to break through the remnants of shattered startups, you have to solve a whole range of tasks, from creating a long-lasting token and economics to marketing and technical clearance.
Once you deploy your ERC-20 token, It might be challenging to attract the liquidity necessary for token stability. Incubators like Scaleswap provide significant opportunities to create your ERC-20 token, raise funding, launch, and develop a project — all in one place. In addition to attracting high liquidity, Scaleswap helps projects build sustainable tokenomics, promote their vision, and communicate with communities through the proper channels at the right time. As a result, money, and expertise circulate seamlessly, pushing projects above and beyond.
ERC-20 Issues & Other Standards
Even though Ethereum is a battle-tested blockchain, the ERC-20 has some drawbacks:
- Auto-execution. Any ERC-20 transaction is considered complete when the money is successfully transferred. If a smart contract does not support the ERC-20 standard, the auto-execution feature can cause a significant loss/freeze of funds.
- BatchOverFlow vulnerability. Hackers may exploit ERC-20 contracts through token manipulations like unreasonably large token generation and overflooded market as a result, causing the dump. This exploit has become less popular, as many developers have already built a protective fence against hackers.
You probably heard of non-fungible tokens (NFT). Most of them use the ERC-721 standard, but what exactly is it?
ERC-721 was the first standard for non-fungible tokens. It’s a legacy standard for Solidity smart contracts. Users can create new ERC-721-compatible contracts by importing them from the OpenZeppelin library. ERC-721 provides methods to track the owner of a unique identifier and transfer the asset.
dApps that use the ERC-721 standard record ownership data for objects on the blockchain (digital money or other dApps). This is done by “tying” the object to a unique owner number. With the ERC-721 standard, you don’t need to trust a third party because you can make sure everything works as intended because all the information is freely available on the blockchain. The dApp only performs its assigned functions and can’t change anything.
- ERC-721 tokens are non-fungible
- ERC-721 is NFT-specific
- ERC-721 is compatible with EVM chains like Binance Smart Chain and Avalanche
- ERC-721 shares common methods and events with ERC-20 but also has a unique metadata function
ERC-777 is designed to enhance the ERC-20 standard. It’s one of the recent standard proposals on Ethereum.
- Uses the same philosophy as most Ethereum standards
- The TokensReceived function eliminates the need to call a function twice, which is still true for ERC-20
- TokensToSend function is related to a contract/address rejection and helps users to take control over their assets
- Users can authorize/revoke operators to handle the tokens
- ERC-777 transactions have userData and operatorData byte fields.
The idea of this standard was suggested by the developers of the Enjin project in 2018. Enjin is a project that seeks to simplify the creation of games on Ethereum. Therefore, the standard they propose is worth considering first as a gaming standard, although its application is not limited.
ERC-1155 brings the idea of semi-fungible tokens and also provides an extended feature set for ERC-721, which means that an ERC-721 asset can be built using ERC-1155. Unlike ERC-1155, where the unique ID represents a single asset, the unique ERC-1155 token ID represents an entire asset class. ERC-1155 also has an additional field to represent the number of instances of the class that a particular wallet owns. Assets of a particular class are alike and the user can transfer any number of assets.
- Developers can issue multiple tokens within a contract
- Both NFT and fungible tokens within a contract
- Atomic swap support
- Batch transaction support
- Not all transactions are sent at the end of the block (no need to wait)
Ethereum Token Standard and Its Future
Not far off the day when the first Ethereum genesis blockchain was mined. ETH has evolved into the most dominant altcoin by market capitalization, popularity, and usage in recent years. It has become the most prominent blockchain platform used by many decentralized applications.
The ERC-20 and ERC-721 (NFT) token standards have significantly contributed to the network’s development. A set of common guidelines, logic, and simplicity were the main reasons the network gained popularity and formed a community of programmers pushing the ETH adoption above and beyond.
Programmers develop and improve technologies every day, creating a snowball effect. Not long ago, Yearn.finance team figured out how to use a brand new ERC standard called 4626. This tokenized vault feature can unlock innovations within the Ethereum DeFi. Other essential standards are built and polished daily, so the Ethereum blockchain and its token standards have every chance to thrive in the future.
How Many ERC-20 Tokens are Available?
As of April 2022, more than 500,000 ERC-20 tokens are available. This number grows significantly over time, as more developers work with Ethereum.
What are ERC-20 Token Examples?
Ether (ETH) is the most famous ERC-20 token. Another vivid example is the Scaleswap (SCA) token. Here’s the list of other ERC-20 assets:
- ERC-20 stablecoins: USDC, Terra USD and TrueUSD
- ERC-20 Exchange tokens: Huobi, FTX, OKB, and Crypto.com
- ERC-20 EVM blockchain tokens: Polygon, Avalanche, Fantom, and Harmony
- ERC-20 DeFi protocol tokens: Uniswap, Compound, Bancor, and Yearn.finance
- ERC-20 Metaverse tokens: Decentraland, Sandbox, Illuvium, and Gala