TokenMint Blog

ERC-20 Tokens and How to Create Yours


Introduction to ERC-20 Tokens

ERC-20 is a proposed and widely adopted standard for creating tokens on the Ethereum network. It's a set of rules implemented in a smart contract that is deployed on the Ethereum network. Once deployed, anyone with an Ethereum wallet can interact with token's smart contract to send and receive tokens. Each ERC-20 token has it's own smart contract which keeps track of all transactions of that specific token.

Sending and receiving ERC-20 tokens

All ERC-20 tokens are deployed on Ethereum network, so you'll need an Ethereum wallet to be able to send and receive ERC-20 tokens. Almost all Ethereum wallets have support for ERC-20 tokens, and selecting a wallet suitable for your device is covered in our Ethereum wallets blog post. To receive ERC-20 tokens you'll need an Ethereum address that can store both Ether as well as any number of ERC-20 tokens. Ethereum addresses are managed in your wallet app, and you can create unlimited number of addresses. To receive tokens you only need to provide your address to a sender. Sending them is as easy as sending ETH - just paste the recipient address and the amount of tokens you want to send and hit send button.

ERC-20 Standard Specification

Standard specifies interface with 6 functions and 2 events, but implementation of functions is left out from the specs.

Functions specs

Interface of the functions in Solidity code is the following:

  • 1. totalSupply() public view returns (uint256 totalSupply) - get the total token supply
  • 2. balanceOf(address _owner) public view returns (uint256 balance) - get the balance of account with address _owner
  • 3. transfer(address _to, uint256 _value) public returns (bool success) - send _value amount of tokens to address _to
  • 4. transferFrom(address _from, address _to, uint256 _value) public returns (bool success) - send _value amount of tokens from address _from to address _to
  • 5. approve(address _spender, uint256 _value) public returns (bool success) - allow _spender to withdraw from your account, multiple times, up to the _value amount
  • 6. allowance(address _owner, address _spender) public view returns (uint256 remaining) - returns the amount which _spender is still allowed to withdraw from _owner

Events specs

Events (in Solidity code) are defined:

  • 1. Transfer(address indexed _from, address indexed _to, uint256 _value) - triggered when tokens are transferred
  • 2. Approval(address indexed _owner, address indexed _spender, uint256 _value) - triggered when approve function is called.

ERC-20 examples

ERC-20 tokens are very popular and thousands of different tokens have already been deployed to the Ethereum network. Together, the value of all ERC-20 tokens is in the billions of US Dollars. Some of the largest tokens in use today are:

  • 1. Binance Coin (BNB) - used for discount on trading fees on Binance ExchangeBNB smart contract
  • 2. Maker (MKR) - used for governance of the decentralized DAI stablecoin issuance system
  • 3. OmiseGO (OMG) - used for running Plasma decentralized exchange, and other Omise services
  • 4. 0x (ZRX) - used to fuel the Ox protocol
  • 5. Basic Attention Token (BAT) - used for advertising and attention-based services

As you can see from the list, ERC-20 tokens have a wide variety of applications and usage.

Creating your own ERC-20 token

Generating your own Ethereum tokens consist of implementing an ERC20-compliant smart contract and deploying it on the Ethereum network. There are countless tutorials that cover token generation, however they require programming skills with deep understanding how Ethereum blockchain works.

If you want to generate your own ERC-20 token, we have created a tool that will enable you to deploy your own token in a few minutes, without coding skills. Using our tool, you can define the name and symbol of the token, as well as initial supply. You'll need a Web3-enabled Ethereum wallet to complete the process. Make sure to top up your wallet with enough funds to pay for our service and mining fees. Just head over to our mint page and complete a simple form, and you'll be starting your cryptocurrency in no time. For sending and receiving ERC-20 tokens, check out adding your custom ERC token to metamask post.

Here's an example of a token created with our tool called Merkle Blue Token. Notice how Etherscan recognized standard ERC-20 contract and tagged the smart contract with ERC-20 token. You can see the name of the token is set to 'Merkle Blue Token' with a ticker symbol 'MBT' and initial supply of one million.

If you need your token verified by etherscan, please note that by generating a token using our service, smart contracts are auto-verified. Learn more on Solidity code verification.

Here's a direct link to the token generation tool:

ERC-20 Token Generation Tool






Connect With Us

Thank you for reading this far! You can:
- follow us on Twitter
- subscribe to our channel on Youtube

Contact us

We are Merkle Blue DOO, a blockchain startup.

Vardarska 1c/54, 21000 Novi Sad, Serbia

Phone: (+381 64 321 2640)