Lots of results turn up when you google "how to create a cryptocurrency”, but very few detail what the specific mechanics are in implementation. Existing articles do a relatively good job outlining a basic ideological framework, but I want to take it one step further than vague jargon such as “make your cryptocurrency legal”, and “promote your project” (it is worth noting, this is the #1 indexed result in google). Both of these steps are essential, but it would require a textbook worth of information on each to produce any type of actionable insight. Most importantly, both are wholly irrelevant if you are not able to launch a coin (in this case a token) in the first place. This article details exactly what the process of creating an ERC-20 token (a token issued using Ethereum’s blockchain) looks like.
Before getting into the nitty gritty specifics, we have to get through my least favorite part of any blockchain related article. The dreaded “blockchain overview” section - these are often inaccessible to someone completely unfamiliar with cryptography, and more or less all say the same thing. For this reason, I’m keeping this intentionally brief. My best attempt at describing blockchain to someone completely unfamiliar is:
A blockchain is a long, continuously growing digital receipt, where every “transaction” on the network is both publicly visible and peer validated (without the use of a central intermediary).
A technology initially thought to be exclusively a currency for drug dealers is currently proving out a very broad range of use cases. Blockchain today lies at the intersection of cryptography, finance, currency, technology, art, social interaction, and communication. While many existing projects are still in early adopter stages, it is my personal belief that we are at the precipice of a platform shift akin to the advent of the internet, or the change from desktop to mobile.
Prior to launching a tokenized project for a real use case, several steps should be taken. The first (and the most frequently overlooked) occurs before a whitepaper, before a business plan, and before any kind of ideation about your new business idea/venture:
This is one of the problems with the blockchain community in its current form. Everything cannot be done better on blockchain, but for many reasons (I posit this is a symptom of many investors pattern matching while lacking the underpinning technological understanding) if a startup is using blockchain it is automatically more attractive to investors. Thinking about this question critically is the most important step in this process, as you will ultimately end up wasting your own time even if you raise money from investors.
Once it is clear that an idea should have an applied blockchain solution, the next step is to articulate why and how. This should take the form of a whitepaper, if you intend to issue a token and sell it to anyone, you need to be able to clearly and concisely articulate what value your token is going to provide. While this is not a hard and fast requirement, if you launch a token with the explanation of “haha this is a funny joke token” you likely will not have much success. (Many notable exceptions exist -- The total market cap of these linked tokens is $54.5 Billion USD as of 11/22/21 🤮)
To create your own ERC-20 token (A token on Ethereum’s blockchain network) We’ll break down the required steps below:
After downloading it here.
For Test net deployment you can use any ERC-20 token source code. Here is the link to the “BlogToken” source code I used, tweaked from the (no longer working) deprecated source code originally published by Gilad Haimov.
Finally, we are ready to deploy and run our newly created ERC-20 smart contract token. Make sure that the environment is “Injected Web3” if you want to deploy the contract to the live test network. Once you select deploy, metamask will confirm the transaction (a few dollars worth of the fake test net Ethereum) for the smart contract to execute, creating our new token.
The only difference is that we deployed this contract on the Ethereum Test Network. If you wanted to issue and subsequently sell tokens, this initial deployment would need to occur on the Ethereum Mainnet.
Alternatively if you wanted to create your own NFT through a similar process, here is an article that goes into detail on that topic.
Compared to launching an ERC-20 token on the Ethereum Mainnet this article was grossly simplified. Once a smart contract has been deployed it is live, and immutable (cannot be changed). If you wanted to change major features of the launched token, you would need to deploy an entirely new ERC-20 token. For this reason, significant additional consideration must be given to: