How to Create a Smart Contract for an ICO and Not Lose Your Mind
Road shows, marketing, advertising — forget everything we talked about earlier if you haven’t taken care of the smart contract yet. Without it, your ICO is no more than a game case without an install disc inside. The smart contract is what you’ll use to release tokens and sell them to investors.
And you need to develop it at least a month before the ICO starts, or unexpected complications could slow you down when it’s time to start making money. Here are the three main problems you might run into when working on a smart contract.
Lack of specialists
Blockchains, cryptocurrencies, and ICOs have been around for a while, but they didn’t really become popular until 2017. The demand for knowledgeable specialists still greatly exceeds supply, so getting ready to develop a smart contract can take almost as long as actually writing it.
There are three different solutions to this problem: outsource your smart contract, use a special platform to hold your ICO, or write the contract yourself.
The first option is the easiest, but it’s also the most expensive. Since this is a young industry, all prices for services related to blockchains and smart contracts are inflated several times over. For example, if you pay one of your developers $5,000 a month, you’ll spend $8,000 on a smart contract during the same time period (it will also be completed by a single employee, by the way).
The second option is appropriate for organizations that only need a smart contract once for their ICO and will not need to create them for their product to function. For example, this method would be appropriate for projects from the real economy. In this case it would be much easier to use a ready-made tool.
However, platforms do charge a fee for their services. All of them accept payment in their own tokens, but their payment mechanics vary. For example, Waves charges about $4 to release one token, but Nem allows you to create a mosaic (their own token-release technology) for about $120 and sell various kinds of tokens during a single ICO.
Finally, the third option is for organizations that are developing a technology product and have plenty of time. Playkey chose to create our smart contract ourselves. It took about a month. Most of this time was spent studying the necessary language, logic, syntax, and examples.
We decided not to outsource the task in order to increase our knowledge base, since in the future we will need original smart contracts for our decentralized gaming platform to function. We chose employees from our team, since they were deeply immersed in the process and knew all the ins and outs of the product.
Lack of development tools
Again, this industry is so young that there is simply no infrastructure for working with smart contracts. You have to work with raw material and tools with limited functionality.
The solution would seem to lie in independent development, but that actually isn’t the case. The market is developing quickly, and there’s no sense in doing work that a team that’s building a business focused on tools for creating smart contracts is probably working on right now. You’d be better off focusing on your own product.
There aren’t many tools right now, so it’s a good idea to dedicate some time to testing and learning the ones that already exist. Other than texts and reviews on professional resources, advice from advisors and other projects running ICOs will come in handy. The most important criteria for quality are the same as with any other software: ease of use, speed, and functionality that meets demand.
Inflexibility of released smart contracts
A smart contract cannot be changed once it has been released. Bugs in the code are truly tragic here, since there’s no way to fix them post-release. In early November 2017 about $150 million was frozen due to a critical error in the Parity client. And there’s still no solution to the problem.
To avoid letting your investors down, you will need to check your smart contract carefully before releasing it. The first step is an internal audit of the code by several specialists. The second step is testing under various conditions and cases. And the third step is an external audit. Independent experts will check the smart contract without any restrictions and report on its flaws.
There still aren’t very many auditing companies that are ready to accept the responsibility and risk to their reputation, but more and more will appear as the industry develops. Playkey’s audit was performed by the agency ICOrating, one of the largest resources on the topic of ICOs. It took five days.
Once the security check has been passed on all counts, the smart contract is ready for release. It’s time to take a break and remember all the things we asked you to forget about until you’d taken care of that code.