Comparison Of Blockchain Platform | Token Creation & Transfer

AKARSH SINGH
Apr 6 · 7 min read

We will compare the blockchain technologies available in the market to start an ICO (Initial Coin Offering), in other words to create tokens. The most famous Blockchain platform is Ethereum, followed by EOS, NEO, Tezos, FLO and Tron. FLO is the new player in the town and is catching up fast compared to the current market leaders in Blockchain tech. Below we will discuss how to create and transfer a token in the Ethereum, EOS, NEO, Tezos, FLO and Tron blockchains.

1. Ethereum Blockchain | Token Creation & Transfer

The Ethereum platform doesn't need introduction. It is already one of the most used blockchains in the market. Ethereum employs solidity coding language, if you know javascript, you will gel easily with it. The main reason for Ethereum blockchain platform's success is the the ERC20 token which is a standard for token creation & transfer in Ethereum Blockchain.

ERC 20 tokens are simple and easy to deploy. ERC 20 provides a single standard to deploy standardized tokens in Ethereum Blockchain.

function totalSupply() public view returns (uint256);
function balanceOf(address tokenOwner) public view returns (uint);
function allowance(address tokenOwner, address spender)
public view returns (uint);
function transfer(address to, uint tokens) public returns (bool);
function approve(address spender, uint tokens) public returns (bool);
function transferFrom(address from, address to, uint tokens) public returns (bool);

Token creation code in ERC 20 standard on a Ethereum Blockchain. Choose the number of tokens at contract creation time and assign all of them to the “owner of the contract”. Below is a sample token creation code —

uint256 totalSupply_;
constructor(uint256 total) public {
totalSupply_ = total;
balances[msg.sender] = _totalSupply;
}

The token transfer code on Ethereum Blockchain also follows ERC20 standard.

Owner (“msg.sender”) transfers (“transfer”) his tokens to receiver (“receiver”) some number of tokens (“numtokens”). If the owner (“msg.sender”) has sufficient balance of tokens, solidity’s code (“require”) will allow the transaction. Otherwise solidity’s code (“require”) will fail the transaction. See a sample token transfer code below —

function transfer(address receiver,
uint numTokens) public returns (bool) {
require(numTokens <= balances[msg.sender]);
balances[msg.sender] = balances[msg.sender] — numTokens;
balances[receiver] = balances[receiver] + numTokens;
emit Transfer(msg.sender, receiver, numTokens);
return true;
}

For detailed knowledge on token creation and transfer in Ethereum Blockchain, please refer to the link below —

2. EOS Blockchain | Token Creation & Transfer

EOS is a blockchain platform built above Ethereum for decentralized applications built on Ethereum. EOS performs functions with much greater capacity and may go up to millions of transactions per second.

Token Creation in EOS

1. Create a wallet

Every contract requires an associated account, so first, you need to create a wallet.

2. Import the Private Key for eosio Account

3. Create an account for the “eosio.token” contract

The account named “token” will be used for the “eosio.token” contract. Generate two public/private key pairs that will be later assigned as the and the .

cleos create key # OwnerKey cleos create key # ActiveKey

Import the two private keys into the wallet

cleos wallet import --private-key={private-OwnerKey} 
cleos wallet import --private-key={private-ActiveKey}

4. Upload the “eosio.token” contract to the blockchain

Below sample code to be uploaded in the EOS blockchain

cleos set contract token ./contracts/eosio.token/ ./contracts/eosio.token/eosio.token.wast ./contracts/eosio.token/eosio.token.abi

5. Issue Token

Below is the sample code for issuing token in EOS Blockchain

# Createcleos push action token create
'{"issuer":"token","maximum_supply":"1000000.0000 TKN","can_freeze":"0","can_recall":"0","can_whitelist":"0"}' -p token
executed transaction: 9c2ef8724134d693f60c7c68e38a25d37450944b78a7df09f9cc3cb360a9f078 120 bytes 1861 us
# token <= token::create {"issuer":"token","maximum_supply":"1000000.0000 TKN"}
# Issue
cleos push action token issue '{"to":"token","quantity":"1000.0000 TKN","memo":""}' -p token
executed transaction: c37952237ed5521575edb19d201841f2ac256ebe84c0957f0266963b96cc64cc 120 bytes 490 us
# token <= token::issue {"to":"token","quantity":"1000.0000 TKN","memo":""}

Token Transfer in EOS

The below mentioned code shows a “transfer” of eosio.token contract, transferring “10.000 TKN” from “token” account to “eosio”account.

cleos push action token transfer ‘{“from”:”token”,”to”:”eosio”,”quantity”:”10.0000 TKN”,”memo”:”my first transfer”}’ -p token
executed transaction: be3929724d07d796df9913d944e1ebd20ca527ec273415ecbc94cb6fc08230e1 144 bytes 6097 us
# token <= token::transfer {“from”:”token”,”to”:”eosio”,”quantity”:”20.0000 TKN”,”memo”:”my first transfer”}
# eosio <= token::transfer {“from”:”token”,”to”:”eosio”,”quantity”:”20.0000 TKN”,”memo”:”my first transfer”}

For detailed knowledge on token creation and transfer in EOS Blockchain, please refer below link —

3. Stellar Blockchain | Token Creation & Transfer

Stellar is slowly competing with Ethereum for launching an ICO. Stellar is faster than Ethereum. Its transaction time is nearly 5 seconds compared to 3.5 minutes for Ethereum. Stellar’s built-in Stellar distributed exchange allows new ICOs to get listed without the mercy of exchanges like Poloniex, Bittrex, Koinex, etc.

Token Creation in Stellar Blockchain

We will discuss one of the methods to create tokens using Stellar Blockchain. To create a token in a Stellar account we have to go through the below process —

1 — CREATE AN ISSUING ACCOUNT

Go to the Stellar Account Viewer and generate a secret key for the issuing account.

2 — A DISTRIBUTION ACCOUNT IS CREATED

We will need two accounts as this account will be used for distribution. Repeat the above step and generate the key pair for distribution account.

3— TRUSTING THE ISSUING ACCOUNT

Input Distribution Account public key in the “Source Account” field. A blue button will appear after you type in your public key that says “Fetch next sequence number for account starting with…” Click it to populate the text field with your next transaction number.

4 — Change Trust

In the Laboratory, skip down to the “Operation Type” section and select “Change Trust”. For “Asset”, select “Alphanumeric 4”. Input the desired code of your token in the “Asset Code” textbox. For “Issuer Account ID”, input your Issuing Account’s public key. For “Trust Limit” — Choose the number of tokens you want to publish.

5 — Complete Transaction

Go to the “Sign in Transaction Signer” tab. Using Distribution Account secret key “Add Signer” or sign in with your Ledger Wallet. After signing the transaction, choose ‘Submit to Post Transaction endpoint’. Then submit your operation to the transaction endpoint, a new page summarizing your transaction will open. Choose “Submit”.

6 — Generate Tokens

Let’s set up the Laboratory Transaction Builder for the Issuing Account. Skip to the “Operation Type” section then select “Payment”. For “Destination”, input your Destination Account public key. Input the desired code of your token in the “Asset Code” textbox. For “Issuer Account ID”, set with your Issuing Account public key. Sign the transaction with the Issuing Account’s secret key.

4. Omni Blockchain | Token Creation & Transfer

According to Omni Layer’s official website, it is a platform for creating and trading custom digital assets and currencies. It is a software layer built on top of the Bitcoin. Omni transactions are Bitcoin transactions that enable extra features on the Bitcoin Blockchain.

Token Creation & Transfer in Omni Layer Blockchain

To make a token on the Omni protocol you need to login to your Omniwallet account on Omni Layer’s official website. Then you need to have some BTC on your the address created by your Omniwallet (around 0.001–0.002 should be more than enough).You can then go to ‘My Assets’ and access the token creation page by clicking the drop down button to choose the type of token you wish to create. Simply fill in the form (take note of the ecosystem drop down in the top right) with your token details and provide an appropriate miner fee and once the transaction is completed and confirmed the token is created and will be visible in your wallet.

5. TRON Blockchain | Token Creation & Transfer

Tron uses solidity language similar to Ethereum. In TRON, every account can issue tokens at the expense of 1024Trx. While issuing a token, the issuer needs to specify total capitalization, a token name, the exchange rate to TRX, circulation duration, description, website, maximum bandwidth points consumption per account, token freeze, and total bandwidth points consumption.

TRON Blockchain Token Creation & Transfer

Compared to other platforms, Tron provides a much simple and easier user interface to create custom token. Issuing a token using the TRON blockchain needs 1024 Trx, which needs to be there in your wallet. Once you import/create a wallet in the Tron network (tronscan.org), then go the “Token” dropdown and choose “create”.

You will have to fill out the details like token name, total tokens to be issues, and a few more details as shown in the below screenshot.

Token transfer happens pretty quickly in the TRON UI (tronscan.org), go to “wallet” and choose “send”, and you can send your custom token in seconds.

Ranchi Mall

Global | Transparent | Trust-Based | Creative | Innovative | Collaborative | Borderless | Officeless |

AKARSH SINGH

Written by

Risk Analyst || KPMG India

Ranchi Mall

Global | Transparent | Trust-Based | Creative | Innovative | Collaborative | Borderless | Officeless |