Becoming a Blockchain Developer: What you can do to get started.
We are living in the “era of the blockchain”. The impact that it can have on our future is truly scary and magnanimous.
So, how can I get a piece of that “blockchain action” and get some $$$ into my bank account?
I believe that question and passion brought you here.
Welcome!
One of the ways of getting into the action & $$$ is by becoming a blockchain developer skilled in building DAPPS or blockchain platforms, backends Protocols.
Although this discussion alone will not make you a Blockchain Developer, it will provide you with realistic steps, anyone, even those without previous coding experience can take to realize their dream of becoming a blockchain developer. If we believe in the power of this tech to transform Africa's economic fortunes, then we must also bridge the skills gap that exists today in other to secure for our people, a bright future in the unfolding decentralized economy.
There are two classes of blockchain developers: Those that build blockchain protocols and those that build Decentralized Blockchain Applications. And there are also two kinds of blockchains that you would want to concentrate on building on. One is for the open blockchain like Bitcoin & Ethereum and the other is for the private/permissioned blockchain.
Think about them this way: A blockchain protocol is like operating systems like Microsoft Windows, Android, Ubuntu -Linux, and other Unix-like Operating Systems such as AppleMac OS.
A protocol is a set of rules or procedures that govern the transfer of data between two or more electronic devices.
Other examples of familiar internet protocols are TCP/IP, HTTPS, and DNS.
Blockchains work based on pre-defined rules which are agreed upon by all the participating nodes (the peers) in the network. These rules include:
- a how-to for governing and validating transactions,
- an algorithm that defines the mechanism for all participating nodes to interact with each other, and,
- (in some cases), application programming interface.
These rules that govern a blockchain network are referred to as a protocol.
All of these are built by Blockchain Developers!
On the other hand, a Blockchain Applications aka Decentralized Applications (DAPPs) are like the different application software that runs on top of the Operating systems on your computer helping you to do different tasks, eg. Corel Draw and Photoshop for graphics and Photo Editing, Adobe Acrobat Reader for viewing .pdf files, etc.
The skill set required to function in these classes differ, and I will explain as we go along.
See, any of them is going to take you some time and you will need to dedicate quality time and resources to your education.
Do not expect immediate results, because becoming a blockchain developer is not a magic pill that you can swallow this night and tomorrow morning you wake up and boom, you have become a blockchain developer!
For anyone with zero coding skill, don’t be discouraged, you can learn to code. The most important thing about learning to code is to make up your mind that you will not quit halfway. There are times things might become really hazy and you will like to quit and do something else with your time. Please don’t quit and give up. You can do it. Almost every one of us was scared of maths while in school, but you have to confront that fear now. You have to.
Several platforms have even made it fun!
On your mobile phone, you can start immediately with the following apps; SoloLearn, Grasshopper. With SoloLearn, you can learn the basic foundations of programming, starting with HTML, CSS, JavaScript, Java, MYSql/ Database, C++, etc. right on your mobile phone. Search for them on your app store.
The good thing about programming is that they are all related somehow and follow basic patterns and structure.
If you don’t own a laptop at this moment and your phone cannot carry additional app installation, consider purchasing a Raspberry Pi 3 B+ which goes for just #18,000 ($35)at Hub360. Just buy a keyboard and mouse for #2,000 ($0.80)and attach the device to your TV set and voila, you have a functional computer. Even if you don’t have a TV, buy a regular 2nd hand PC monitor and use another low-cost HDMI-VGA converter and it works too.
All these will cost you less than #30,000 ($8.50) which is lower than the cost of a new Android phone of up to 32GIG memory that can run multiple apps without freezing!
Hub360 is located at the NIGERIAN ARMY SHOPPING ARENA, BLOCK EU2, SHOP 9 & 10, (BESIDE ECOBANK) OSHODI, LAGOS. Tel: +234–7044715478, +234–8021118809
Here’s their website address: https://hub360.com.ng/
Am going this low because we are Nigerians and purchasing power has become really very low for most people under this Buharian government.
Luckily there are massive online resources out there for anyone to learn coding free of charge, once you can get yourself some data.
https://developers.google.com/web/fundamentals/
You might be wondering if I’m recommending that you become a web developer.
Well not really.
But the job of building DAPPs is akin to those of Web Developers.
At the end of the day, both Web Apps and Blockchain DAPP will run on top of the Web and the web is still HTML, CSS, and Javascript!
After you have gotten yourself up to speed with the basics of programming, next is to familiarize yourself with the basic terms of blockchain technology;
· Cryptography
· Decentralization
· Consensus Mechanism
· Mining
· Hash
· Transaction validation
· Nodes
· Genesis Block
· sha256 hash function
· Cryptoeconomics
· Smart Contracts
· ICO, STO, IEO,
51% Attack etc.
These are the “must-know” concepts for any aspiring blockchain developer.
Learn how the exchanges work
Get acquainted with wallets.
Learn about Turing Incompleteness/ Turing complete
Understand Enterprise blockchain/ DLTs
The last chapter of my book has a glossary of blockchain terms and you can find more on https://blockgeeks.com/guides/blockchain-glossary-from-a-z/
I took the free MOOC program at the University of Nicosia and those 12 packed courses really helped me a lot. I recommend it anytime any day.
Andreas Antonopoulos and Antonis Polemitis were my lecturers and I think they are still very much involved in the program.
Here is the link to sign up for the next batch: https://www.unic.ac.cy/blockchain/free-mooc/
I think everyone interested in this space should take that course.
Satoshi Nakamoto wrote the Bitcoin source code in C++
Most blockchain devs have C++, Python and JAVA backend Skills.
Again, you should also be comfortable with the Command Line Interface(CLI).
For DAPP devs, javascript –like frontend languages like Solidity, Serpent, Move (Libra), Scheme, List or OCaml will come in handy.
Ethereum Smart Contract devs also have to acquaint themselves with Web3JS, VueJS, ReactJS and Truffle Frameworks.
So you see that strong Javascript background is a must-have since most of these are Javascript libraries for interacting and pooling data from the EVM and other ethereum-like blockchains, and building out frontend interactions.
Blockchain as a Service (BaaS)
Just like several companies in the peek of web application development era, created Software as a Service (SaaS) frameworks and CMSs, like Wordpress, Joomla, Drupal, Code Igniter etc, to aid rapid deployment of web applications even on enterprise levels, several companies have also seen the potentials of blockchain technology and has thus, began offering Blockchain as a Service (BaaS) platforms for speedy deployment of DAPPS. For most of these BaaS Platforms, limited coding skills are required.
Everyone knows that setting up an environment to test and research blockchain requires an ecosystem with multiple systems that will be able to develop research and test application.
The big players in the cloud industry like Amazon(AWS), Microsoft(Azure), IBM(BlueMix) saw the potential benefits of offering blockchain services in the cloud early and started providing some levels of BaaS to their customers.
Users/ subscribers benefit from Baas by not having to face the problem of configuring and setting up a working blockchain.
Moreover, hardware investments won’t be needed at all.
Microsoft partnered with ConsenSys to offer Ethereum Blockchain as a Service (EBaaS) on Microsoft Azure.
IBM(BueMix) partnered with Hyperledger to offer BaaS to its customers.
Amazon announced they would be offering the service in collaboration with the Digital Currency Group.
For all of these platforms, developers will have a single-click cloud-based blockchain developer environment that will allow for rapid development of smart contracts.
For me, this option will work best for freelancers and startups.
I have put together a list of some wonderful BaaS Platforms worth considering, as you progress in your journey of becoming a blockchain developer.
https://www.paystand.com/enterprise-blockchain-notary-receipts
https://aws.amazon.com/?nc2=h_lg
Some of the key criteria in choosing BaaS platforms to use for your project include security, tools available, choice of operating systems, ease of use, and pricing.
Let’s say you have decided to be a blockchain DAAP developer, armed with requisite skills, then here is my list of Blockchain Platforms that exist today where you can choose to build your DAAPS upon.
1. Aion
Aion is a third-generation blockchain network that will enable an organization to Federate, Scale and Spoke.
Consensus: Proof-of-Intelligence Staking
language: Aion, Solidity
Website: aion.network
2. ArcBlock
ArcBlock, built with an open standard, is a platform and an ecosystem for building and deploying decentralized blockchain applications.
Consensus: Algorand based
language: —
Website: www.arcblock.io
3. Ardor
Ardor is a blockchain-as-a-service-platform that evolved from the Nxt blockchain.
Consensus: Proof of Stake
language: Java
Website: www.ardorplatform.org
4. Cardano
Cardano, the first blockchain platform to evolve out of a scientific philosophy and a research-first driven approach is built by a global team of leading academics and engineers.
Consensus: Proof of Stake
language: Plutus
Website: www.cardano.org/en/home
5. Corda
Corda, developed by R3, is an open source blockchain platform to record, manage and synchronize agreements and transfer value. It allows you to build interoperable blockchain networks that transact directly, in strict privacy.
Consensus: Pluggable Consensus
language: Kotlin, Java etc.
Website: www.corda.net
6. Enigma
Enigma is a permissionless peer-to-peer network. With Enigma, “smart contracts” become “secret contracts”, where input data is kept hidden from nodes in the Enigma network that execute code.
Consensus: Proof of Stake
language: Solidity
Website: enigma.co
7. EOS
EOSIO is a free, open-source blockchain software protocol that provides developers and entrepreneurs with a platform on which to build, deploy and run high-performing decentralized applications.
Consensus: Delegated Proof of Stake (dPoS)
language: C++, WebAssembly
Website: eos.io
8. Ethereum
Ethereum, developed by the Ethereum Foundation, is a decentralized platform that runs smart contracts.
Consensus: Proof of Work
language: Solidity, Serpent, LLL
Website: www.ethereum.org
9. Hyperledger Fabric
Hyperledger Fabric is a blockchain framework implementation and one of the Hyperledger projects hosted by The Linux Foundation. It allows components such as consensus and membership services to be plug-and-play.
Consensus: SOLO, Kafka
language: Go, Java
Website: www.hyperledger.org/projects/fabric
10.Hyperledger Sawtooth
Hyperledger Sawtooth is an enterprise blockchain platform for building distributed ledger applications and networks. Sawtooth is an open source project under the Hyperledger umbrella.
Consensus: Proof of Elapsed Time (PoET)
language: Python, C++, Go, Java, JavaScript, Rust etc.
Website: www.hyperledger.org/projects/sawtooth
11. ICON
ICON is a decentralized blockchain network where various blockchain-based independent Communities are connected to form a greater community. At the core of ICON is a high-performance blockchain loopchain.
Consensus: Loop Fault Tolerance (LFT)
language: Python
Website: icon.foundation
12. IOTA
IOTA is a next generation permissionless distributed ledger that utilizes a novel invention, called a “Tangle”, at its core.
Consensus: Coordinator
language: Rust, Go, Javascript, Java, C++
Website: www.iota.org
13. Komodo
Komodo is a secure, independently scalable, and fully interoperable blockchain ecosystem that provides end-to-end blockchain technology solutions.
Consensus: delayed Proof of Work (dPoW)
language: Any
Website: komodoplatform.com
14. Lisk
Lisk is a blockchain application platform created to bring blockchain technology to the world through an SDK (Sidechain Development Kit) written in JavaScript.
Consensus: Delegated Proof of Stake (DPoS)
language: Javascript
Website: lisk.io
15. MultiChain
MultiChain is an offtheshelf platform for the creation and deployment of private blockchains, either within or between organizations.
Consensus: -
language: Any
Website: www.multichain.com
16. Neblio
A secure, distributed, blockchain platform built for enterprise applications and services.
Consensus: Proof of Stake
language: Java, Javascript, Ruby, Python, Go, C#, PhP, Objective-C
Website: nebl.io
17. NEM
NEM’s blockchain platform was designed and coded from the ground up for scale and speed.
Consensus: Proof of Importance
language: Any
Website: nem.io
18. NEO
NEO, founded in 2014, is a non-profit community-driven blockchain project.
Consensus: Delegated Byzantine Fault Tolerance (dBFT)
language: C#, VB.Net, F#, Java, Kotlin, Python
Website: neo.org
19. Nxt
Nxt is an advanced open source blockchain platform that includes many core-level features, such as a Decentralized Asset Exchange, Marketplace, and Voting system.
Consensus: Proof of Stake
language: -
Website: nxtplatform.org
20. OpenChain
Openchain is an open source distributed ledger technology that is suited for organizations wishing to issue and manage digital assets in a robust, secure and scalable way.
Consensus: Partionned Consensus
language: Any
Website: www.openchain.org
21. Qtum
A decentralized and open-source smart contracts platform and value transfer protocol. Qtum employs a decentralized governance protocol allowing for blockchain parameters like the block size, block time, gas schedules, and the minimum gas price for contracts to be modified without requiring a fork.
Consensus: Proof of Stake
language: Solidity
Website: qtum.org/en
22. Smilo
Smilo is the hybrid blockchain platform that warrants transparency whilst protecting individual’s personal data.
Consensus: Smilo BFT+
language: lidity, Javascript, Java, Python
Website:
23. Stellar
Stellar is open-source, distributed payments infrastructure using blockchain technology.
Consensus: Stellar Consensus Protocol
language: Go, Java, Javascript
Website: www.stellar.org
24. Straitis
Stratis offers full-service capabilities for the development, deployment and management of enterprise blockchain applications and solutions utilizing C# on the .Net framework.
Consensus: Proof of Stake
language: C#
Website: stratisplatform.com
25. Tezos
Tezos is a blockchain that can evolve by upgrading itself. Stakeholders vote on amendments to the protocol, including amendments to the voting procedure itself, to reach social consensus on proposals.
Consensus: Proof of Stake
language: Michelson
Website: tezos.com
26. Wanchain
Wanchain supports cross-chain transactions between mainstream public chains, between private chains, and between public and private chains.
Consensus: Proof of Stake
language: Solidity
Website: wanchain.org
27. Waves
Waves Platform is a comprehensive blockchain platform that features fiat gateways, smart contracts, mobile wallet, token issuance, a DEX (decentralized exchange), and more.
Consensus: Proof of Stake
language: RIDE
Website: wavesplatform.com
28. Zilliqa
Zilliqa is a high throughput public blockchain platform designed to scale to thousands of transactions per second.
Consensus: Practical byzantine fault tolerance (PBFT)
language: Scilla
Website: zilliqa.com
Online platforms where you can learn Blockchain Development and get certified
To be continued…..