Ethereum’s creator, Vitalik Buterin, was first introduced to the cryptocurrency and Bitcoin space back in 2011. In that same year, Vitalik launched Bitcoin Magazine that would constantly post articles regarding the future of cryptocurrency. Afterward, he worked on some altcoins which were based on the Bitcoin codebase. After facing a few shortcomings with the Bitcoin blockchain while trying to build some apps, Vitalik was convinced that the Bitcoin blockchain platform was limited in scope and he got inspired to create a platform that would go beyond the financial use cases of Bitcoin. Therefore, he created an alternative platform that would allow developers to build Decentralized Applications and deploy smart contracts. This platform is called Ethereum.

We share in the same vision of Ethereum’s creator, Vitalik Buterin, of having a platform that exceeds the financial use cases provided by Bitcoin’s blockchain and that’s why we launched our crypto-asset, DinarCoin, on the Ethereum platform. Also, because we fully support all endeavors and attempts made at making improvements, we are pleased to use Ethereum’s newer ERC223 token standard for our DinarCoins. The ERC223 token standard is an upgrade from the older ERC20 token standard.

ERC20 versus ERC223

Our initial token round was on the old ERC20 token standard. However, we have taken the initiative to switch to the improved ERC223 token standard. If you are fairly new to the cryptocurrency sphere, you must have heard about the ERC20 token standard as it is the most popular standard within the cryptocurrency community. Most cryptocurrencies issued on the Ethereum platform make use of the ERC20 token standard. Before we go ahead and lay out all the comparisons between the two standards, we need to take a closer look at what ERC really means and how it came to be.

What exactly is ERC?

ERC means Ethereum Request for Comments. It practically allows for smart contracts to be built on the Ethereum platform based on these standards thus creating a common interface for all Ethereum tokens. It was initially written by Ethereum developers for use by the Ethereum community. Ethereum developers highly recommend that any Ethereum developer who wants to create a new token should follow this set of standards to ensure that their tokens are easily recognizable on both the Ethereum network and other third-party service providers such as crypto-wallets.

ERC20 Token Standard

The ERC20 token standard is an older version of the standards that you need to follow if you want to create your own tokens. It was initially proposed in 2015 and was officially formalized in September 2017. The ERC20 token standard defines six mandatory functions that any smart contract should implement alongside three optional ones. The optional ones include:

  • Name – The specific smart contract should have a name. This will ultimately be the name of the token. It’s best to have a name as it helps users identify with it.
  • Symbol – The token can have a three or four letter symbol associated with it. For example, Bitcoin’s symbol is BTC, Ethereum’s symbol is ETH, etc.
  • Decimal – This explains what decimal amount of the token can be calculated. A popular number of decimal places to consider is 18.

The rest of the options are mandatory. Any smart contract that follows the following standards earns the right to be an ERC20 token. The functions include:

  • totalsupply()

This function calculates and gives an exact figure on the total amount of tokens that exist in circulation.

  • balanceOf(address_owner)

It allows a smart contract to acquire the account balance of another account through the provided address. The balance of any address is usually public.

  • transfer(address_to,uint256_value)

It allows the owner of the contract to be able to send a certain value of tokens to another address thereby, triggering a transfer event.

  • transferFrom(address_from,address_to,uint256_value)

This function allows the owner to send automatic tokens on behalf of the owner by automating the transfer process.

  • approve(address_spender,uint256_value)

This function allows the owner of the contract to provide authorization or approval to the given address to withdraw tokens from the owner’s address.

  • allowance(address_owner, address_spender)

This function allows the return of the amount which the spender is still allowed to withdraw from the owner.

ERC223 Token Standard

Ever since developers created the ERC20 token standard, all Ethereum-based tokens embraced and adopted the standard without any issue. However, there were a few notable drawbacks to the ERC20 token standard that prompted developers to try and find a solution to some of these problems. This is how they came up with the new and improved ERC223 token standard. The reasons for introducing the new ERC223 token standard included:

  1. To stop the continuous loss of tokens. There are reports of users losing a lot of ERC20 tokens just because they sent the tokens to the wrong contract. Remember that transactions on the Ethereum blockchain are irreversible which means that a lot of tokens are getting lost and locked in smart contracts with no way of redeeming them.
  2. To make the transfer mechanism of tokens similar to that of transferring Ether.
  3. To correct the inability of handling incoming token transactions for non-supported tokens.
  4. To eradicate one step out of the two-step process of transactions that happens in a token transfer.

The ERC223 token standard introduces a completely new function to the existing ERC20 standard to prevent unwarranted or accidental transfers from being permanent. It does so by offering a revert option or altogether blocking the transfer of tokens to random contracts. Tokens can no longer be sent to non supporting contracts with the ERC223 standard. It also solves the transfer process drawback by merging the transfer functions between wallets and contracts under one function, transfer. This also reduces the transaction fees needed to process transactions.


Other than being the second most valued and popular cryptocurrency in the crypto-market, Ethereum as a platform is becoming a favorable option for many new cryptocurrencies. Not all cryptocurrencies have their own blockchain and, therefore, they chose to run on the Ethereum platform due to its ability to deploy smart contracts and allow for the building of DApps. That’s one of the reasons why we chose to run our gold-based token, the DinarCoin, on the Ethereum platform. Through the use of the ERC223 token standard, we believe that we will put an end to some of the challenges that haunted our previous ERC20 token standard. You can check out more information about our DinarCoins on our official website at