Token vs Crypto Coin — All Technical Differences of Development
Many newcomers and even experts think that such terms as "coin" and "token" are very close in meaning and practically interchangeable. But this is a mistake, because in fact these terms mean different things both functionally and technically. Further on we will tell you exactly how they differ, as well as how you can create your own coin and how to start your own token.
Bitcoin (BTC), Ethereum (ETH) and Monero (XMR) are popular examples of cryptocurrency "coins," while Basic Attention Token (BAT), Chainlink (LINK), Tether (USDT), Storj, VeChain (VET) are popular examples of tokens. From the point of view of blockchain binding, the difference between them is that crypto coins exist in their own independent registries, while tokens operate on the basis of " foreign" blockchain. In other words, a coin has its own blockchain, while a token does not.
For example, the BTC coin exists in the Bitcoin blockchain, ETH in the Ethereum blockchain, XMR in the Monero blockchain, and all of the tokens listed above are launched based on the Ethereum blockchain. At the same time, these and most other tokens are not created from scratch, but through standard protocols (launch templates), which set their key characteristics and functionality.
There are quite a lot of such protocols, and one blockchain network can have several templates at once. For example, the Ethereum network typically uses the ERC-20 protocol to launch interchangeable tokens or ERC-721 to launch non-interchangeable tokens. But apart from those, Ethereum can also use ERC-223, ERC-777, ERC-820, ERC-821, ERC-827, ERC-1155 and other protocols.
Besides Ethereum, you can also launch your tokens with Binance Smart Chain blockchains, Tezos, TRON, NEO, NEM, Waves, Nxt, Lisk, Stellar, Stratis and a host of other platforms focused on smart contracts and dApps.
Another significant difference between a token and a cryptocurrency coin is their primary purpose (creation goal). As the name itself suggests, coins are usually launched as a means of payment. For example, bitcoins are crypto coins created as an alternative to traditional fiat money. They can be used to buy and sell goods and services on the Internet and nothing else.
Whereas, tokens are created to be used to provide access to a service or functionality of some blockchain platform. For example, the Basic Attention Token (BAT) provides access to Brave browser marketing tools. Through BAT, advertisers pay for advertising campaigns, and these tokens are then distributed between publishers - usually sites - and Brave users as compensation for placing banners and viewing them.
As a result of this targeting, cryptocurrency coins usually have characteristics that are common to conventional money: separability, portability, interchangeability, and limited supply. These characteristics are prescribed in the blockchain and cannot be changed without a soft or hard fork. The characteristics of tokens can be both similar to coins and very different from them. For example, NFTs (Non-Fungible Tokens) can be inseparable, unique, non-interchangeable and take up a lot of hard disk space.
The last significant difference between cryptocurrencies and tokens is the way they are created. Coins run on a base of blockchains, and it can be either a chain created entirely from scratch or a chain created through a hard fork of an existing currency. Tokens, on the other hand, can be launched in a couple of minutes if you know what and how to do it. Let's understand how exactly that happens.
Technically, cryptotokens are created by writing and deploying smart contracts in an existing blockchain. The most popular blockchain platform for launching new tokens is Ethereum. The most common Ethereum standard for launching tokens is ERC-20. This protocol provides 6 mandatory and 3 optional (but recommended) parameters for any smart contract. You can read about it in details on the official site of Ethereum. Now we will tell you how to launch the ERC-20 token.
Step 1. First, you need to select / download the standard form of the ERC-20 protocol smart contract. It can be found on the github website page (you need to download both files with the extension .sol).
Step 2. Next, you need to open the Ethereum Remix editor (you can download it from this link on the Ethereum website) and use the "Load" button or the "Folder" icon to load the two previously downloaded files into the editor.
Step 3. Then, in the open file called NewToken.sol, instead of the values contained in the triangular brackets, you need to specify the necessary token parameters: name - token name, totalSupply - total emission, decimal - crush amount (number of signs after the comma), symbol - token stock exchange ticket.
Step 4. Next, you need to save the changes and deploy a smart contract in the Ethereum network site. To do this, you can use the MetaMask client wallet. It doesn't know how to compile contracts on Solidity, so we'll do it via Ethereum Remix first. To do that, you need to open the "Compile" tab, select your smart contract, and click "Start to compile". By default this happens automatically, but you can do it manually by removing the "Auto compile" checkbox.
There, in the Remix editor, select the neighboring tab "Run" and the sub-item "Injected Web3", where you must fill in the fields "Gas limit" and "Value" and then click "Create".
The account on whose behalf the smart contract will be deployed will be automatically detected when MetaMask is installed.
After clicking "Submit" and making a record in the blockchain, the contract is considered to have been deployed. The status is confirmed in the client by the icon with the image of the document, signed "Contract published". Clicking on it takes the user to the transaction page.
To make transactions with a token, you need a sender wallet (e.g., the creator of the contract) and a receiver wallet. You can transfer a token using the Remix page. The pink color indicates the paid recording operations, and the blue color indicates the free reading operations. To transfer coins, you enter the desired number of tokens and the receiver's address. After the transaction, the balance can be checked by running the balance of operation.
The second option of launching your token involves using a special cryptocurrency wallet, for example, using the official Ethereum Wallet or MyEtherWallet. Let's look at the algorithm using Ethereum Wallet as an example:
The process of developing crypto coins itself is as follows:
Step 1: concept definition. At this stage, you and the developer work out the vision of the coin. You need to clearly understand why you are creating it, what it will do to attract potential users. Knowing this, you can decide on the type of coin (traditional crypto, Stablecoin or hybrid), the type of blockchain (public, private, consortium) and write the basic characteristics and principles of your cryptocurrency coin.
Step 2: consensus algorithm selection. This decision will affect most of the characteristics of the blockchain being created, and therefore the coin. For example, the consensus mechanism determines the speed of transaction confirmation, network bandwidth, mining, security, the size of commissions, and many other things. Here is a comparison of the most popular consensus algorithms:
Step 3: choice of blockchain functionality. As you are creating a coin, your basic functions are all you need to use your currency as payment means on the Internet. In addition, you can also add support for smart contracts and dApps, direct conversion of your coin to other coins, tools for integration with external services, and more.
Step 4: developing a cryptocurrency wallet concept. If you create your coin from scratch, you will most likely need to also develop your wallet and API to integrate it with external services, including the ability to connect directly to popular cryptocurrency stock exchanges, dApps, online stores, etc.
Step 5: choosing a technology stack. The easiest option is to choose an existing open-source blockchain and create your chain based on it. For example, you can use Ethereum code. In this case, you will need to use the following resources:
Step 6: direct coding. At this stage, programmers translate your coin into software code. This is done by a blockchain developer, but they can also be joined by web and mobile developers who will create a website and a mobile wallet app to work with your cryptocurrency.
Step 7: testing and launching. When the software code of your product is written (at least partially), QA-specialists take over and test it for bugs, usability, functionality, operation under all possible load conditions, etc. After identifying and eliminating all errors and problems, the blockchain is deployed - run on their own nodes.