DIY — Program a Cryptocurrency Yourself – Hacker Noon
P R O G R A M M I N G
How does it work?
Meanwhile, there are over 2000 of them: cryptocurrencies. The decentralized, cryptographically encrypted, digital coins and notes. They are also decentralized because they are mostly open source software. Anyone can try to develop their own version of Bitcoin.
Ultimately, all you need is a good idea and technical knowledge to program a cryptocurrency yourself. The undertaking is complex, but with the right means, it can be done without any programming knowledge.
What Exactly is a Cryptocurrency?
To introduce a cryptocurrency definition: These are digital currencies that are not issued by any central authority. There is no central authority that determines the price. Instead, supply and demand decide the price. This currency does not exist in any physical form, but only as information.
The basis is the blockchain, electronic accounting. This was first described in 2008 by Satoshi Nakamoto, who created the first BTC in 2009. Satoshi gradually withdrew from Bitcoin development and handed over the project to the community. They are also open source, anyone can view their code and even copy it. You don’t need a cryptocurrency certificate for programming.
Many new blockchain projects, such as Litecoin, are actually Bitcoin copies. In software development, this is also called “hard fork”. A copy of the code is created and changed, resulting in a new version. They are cryptographic because no personal data is required for transactions over the Internet. Transactions take place peer-to-peer, directly from user to user.
Unlike other means of payment, where there is always an intermediary involved, such as financial institutions. Since there is no intermediary, transactions are usually faster and cheaper. Decentralization is ensured by a network based on nodes. Each node stores a copy of the blockchain, keeping the whole network alive without having to be on any central server.
The cryptocurrency mines are also important to keep the network running. Miners verify transactions and receive a block reward. The currencies are stored on a cryptocurrency wallet, an electronic wallet.
Of course, there are exceptions. Stable coins like Ripple are firmly in the hands of a company and tied to a fiat currency, in this case, dollars. Many digital currencies are held, at least during development, by the developers so that they still have some control over the project.
Why Program Yourself?
There are many possible applications for your own cryptocurrency. In 2017 there was a boom in ICOs. ICO means “Initial Coin Offering”. Here a token is offered for sale via the Internet. The aim of the sale is to finance a project. ICOs have established themselves as an alternative method of crowdfunding. They are not regulated in the same way as the classic methods of financing, such as venture capital.
They are mainly used by start-ups and young companies, are created relatively quickly and can be sold without going public. The token buyers usually pay with other cryptocurrencies, which then finances the company.
In addition, own blockchain projects can be developed. The application possibilities of this new technology can only be guessed at so far. The coins are in the process of establishing themselves as alternative means of payment to the commercial financial systems. Venezuela had already issued its own cryptocurrency, the Petro.
Those who read the cryptocurrency news will also hear about many other innovative projects based on the blockchain.
- IOTA, for example, uses its digital currency for the Internet of Things.
- Tron wants to build a blockchain platform for a decentralized Internet and is particularly focused on the entertainment sector.
- At Verge, on the other hand, the security of its users’ data is at the forefront.
- At Stellar, the aim is to make global payment transactions simpler and cheaper. The Stellar Foundation is intended above all to help the “Unbanked”, those people in the Third World who have no access to the traditional financial market.
As you can see, cryptocurrencies can be programmed for a wide variety of purposes. You can use them to improve people’s lives, offer alternatives to common concepts and platforms, and do crowdfunding. If you look at some cryptocurrency quotes/lists, you can also see that many also have a large growth in trading volume and market capitalization.
What is the difference between a coin and a token?
Both terms have already been used but should be clarified. They differ mainly in terms of functionality and the basis on which they are based.
A token is usually based on the ERC20 token standard from Ethereum. On the Ethereum platform, custom crypto projects can be realized by using the token standard. The programming of this token standard is still the easiest because no blockchain has to be created. This is the most complicated part of this work.
Instead, the Ethereum blockchain is used as the basis. This is also possible with the platforms of NEO and Cardano. Another important aspect: It fulfills a certain function on a platform.
Ether, for example, is used to pay for the Smart Contracts on the Ethereum platform. Tokens can be used to pay certain fees, for voting as voting weight, to get access to services on the platform, etc. You can trade with this cryptocurrency, but the real purpose is a certain function on your platform.
A coin is different in that it always has its own blockchain. Even if they are copies of the Bitcoin blockchain. In addition, the primary function of a coin is to be used as a digital means of payment, as an alternative to common fiat currencies such as dollars or euros. In addition, they usually have no other purpose.
Some attach greater importance to privacy, others to speed or ease of use. The focus is always on transactions.
What should one think about beforehand?
Apart from the kind of cryptocurrency you want to program, there are many other things you should think about:
- What is the purpose of the project? What should they be used for? Is there a specific industry or sector in which the project is to be used by companies because it offers an advantage? Can it solve people’s problems or what reason should there be to use them?
- Is there already a team of developers or does one need to be formed? Should the community be involved in the development? Should it be open source and thus the source code freely accessible for everyone or should control remain in one’s own hands? The community can be a valuable helper when it comes to programming.
- Continue with the community: Do certain channels exist on social media or forums with which you can draw attention to the digital currency? Is there anyone in the crypto scene who will advertise for you? Is there already a marketing campaign and what should it look like?
- Does white paper exist? A white paper is important to communicate the vision and attract potential investors. The crypto scene is international, the white paper for the cryptocurrency must be written in English.
- What does the cryptocurrency entry into the stock exchanges and exchanges look like? Where and how should investors or interested parties be able to buy the token or the coin? Are there already connections to some online trading centers?
What knowledge is required?
Most crypto projects are published on GitHub as Open Source. Here they can be downloaded for free. Many Altcoins are based on the Bitcoin code. With some C++ knowledge, the source code can be converted to its own cryptocurrency.
The more the code should deviate from the original, the more you have to program and have more knowledge. Of course, you can also try to create a blockchain from scratch, even develop your own programming language. But this requires much more knowledge.
If the Ethereum platform is to serve as a basis, then you need a wallet that can store ERC20 tokens, such as MetaMask or MyEtherWallet. These are installed by means of an extension on the Chrome browser. You also need some ether of your own. They can be bought on many online trading places. The number of ethers needed to create your own ERC20 token is very small and costs very little.
On GitHub, you can find the code under ConsenSys, which you simply have to copy into a Smart Contract. On the website “Rinkeby” there is a simple interface. The code is inserted into this. If you want to insert your own functions, then you have to deal with the programming language “Solidity”. However, the basic data of the cryptocurrency, such as the number of decimal places, the name, the maximum number, can be set relatively easily.
Thus the own token is already programmed and could theoretically be sold at an ICO. The new ERC20 token can then be published on EtherScan or on an Exchange. Other smart contract platforms such as Cardano and NEO use other programming languages, but the principle is similar.