During the last year, many cryptocurrency and blockchain adepts with a business idea and sufficient funds have been launching Initial Coin Offering – ICO. Eventually, in quite short spans of time, finances for further development of the concept were raised all over the world. For instance, Ethereum-based project Status, during its ICO period, raised around $108 million in investments for development of a decentralized application similar to Telegram. This is one of the many examples of successful ICO implementation. From the look of it, the following couple of years will see a rapid increase of a number of investors, which means that properly prepared token sales would bring not only business development funds but also a considerable share of profit.
In order to launch an ICO, you’ll have to create an app that would accept investors’ cryptocurrency and, once the sufficient funds are raised, distribute it among them in the form of your company’s tokens.
In this post, we won’t be discussing in detail a process of preparation for an ICO (and, for example, mention that you’ll have to gather a team of variously skilled experts, analyze the market, formulate a good whitepaper, provide active participants of your official communities and forum threads with bounties, etc.). Its focus is explaining how to launch an ICO on Ethereum – a platform that employs a standardized token generation protocol ERC-20, and which technical tasks you’re going to have to face in the process.
As opposed to Bitcoin, Ethereum is based on a language that is fully based on a Turing system. Thus, the platform uses abstraction mechanisms. Without getting into theory, we can say that this allows for the acceleration of transactional processes by using physical and time resources of Ethereum Virtual Machine (Bitcoin doesn’t feature a virtual machine); not by increasing commissions, as practiced in Bitcoin-based solutions.
We hope this explains to you a bit why it is worth choosing Ethereum for an ICO. Now then, let’s find out how to do an ICO on Ethereum and, particularly, focus on the smart contracts creation procedure.
A composition of an economic model based on a smart contract is a crucial stage of the discussed process. Its proper implementation can practically guarantee the overall success of an ICO. That’s why you must define all the terms of the agreement of such a contract beforehand. Then, thoroughly test them out in the deployment environment. Do not post a code on GitHub until tests for each term are conducted. Be prepared to answer a potential investor’s questions like what a certain block of the code means.
Questionable code constructions can include the following:
In such a manner, even if you’re not a programmer yourself but a business owner just starting out that decided to hire a separate team of developers to launch an ICO on Ethereum, you’ll have to know what you’re posting on GitHub. That way you’ll be able to assess the work done from an investor’s perspective and indicate flaws before an ICO launch.
In order for your smart contracts to comply with an ERC20 standard, you’ll have to make sure that they include the following list of methods, events, and lines:
Suppose, the code defining a smart contract is successfully placed on GitHub and now, you’ll have to commence its deployment on the web.
If you figured out the basics of ICO at least superficially, then you surely know that every ICO consists of two contracts: token contract and crowdsale contract. We’ll try to briefly describe the specifics of each.
Let’s start with figuring out how the token contracts are implemented in practice. We recommend not to reinvent the wheel and only slightly customize existing token templates defined in OpenZeppelin library for Ethereum (factually, they are all ready for the MVP creation without any adjustments whatsoever).
All in all, the things you’ll have to put down in the contract manually would consist of approximately as much code as follows:
Now, let’s figure out by which principle the crowdsale contracts work. In fact, it’s all pretty simple. A certain amount of funds converted into the ether is being sent to a certain address of a user. Then, this ether is converted into tokens and is sent back. This data is fixated in one of the blockchain segments and, thus, the transaction is confirmed via the digital signature.
To finish everything up, you’ll have to include a special script in the code that would once in a predefined interval of time search blockchain for the transaction that features the above-defined addresses. Once it’s detected, the script would launch a token.mint(msg.sender, msg.value) function and, simultaneously, implement the process of token transfer to a defined user account. Down below, you can see a particular case of the crowdsale contract implementation.
As you can see, ICO is one of the most profitable and efficient crowdfunding approaches. Releasing tokens for sale, not only do you get investments for your business development but also automatically attract real customers to your products and services.
As to the technical aspect of the ICO, the Ethereum platform is perfect for its implementation as it was initially created for application execution, as opposed to Bitcoin (which was initially intended to be a currency for reliable decentralized transactions). If you decided to launch token sales but haven’t gathered a team of experts as of yet, let us help you! We specialize in blockchain construction and possess a colossal smart contracts development experience. Additionally, we’re ready to take care of all the processes related to ICO preparation from start to finish (including the processes dedicated to marketing and economic aspects of the discussed affair). Employ our service and you will get a properly functioning project that would definitely bring the desired profit.
We will contact you soon