Have you decided to take the red pill and go deep into the blockchain rabbit hole? Great! Let’s begin.
The first cryptocurrency, Bitcoin has gained a significant presence in the global financial ecosystem. Blockchain, the technology behind Bitcoin, has now been adopted by many governments, businesses, and products. Also known as Distributed Ledger Technology (DLT), it holds hope for a decentralised future.
Blockchain developers are some of the highest-paid software developers and the demand for this skill is only increasing.
Understanding Blockchain Basics
The word ‘blockchain’ consists of “block’ and ‘chain’ and essentially means a distributed ledger/network, with information packets (blocks) interconnected in a chain type arrangement.
Contrary to centralized ledgers maintained by banks or data repositories ‘controlled’ by software and networking behemoths, blockchain is a decentralized ‘peer-to-peer’ digital ledger.
Now let’s understand how blockchains achieve decentralization, with the help of the terms listed below:
- Full nodes – Network participants who have access to the entire copy of the blockchain. They ensure proper verification of transactions and flag any possible hacking attempts
- Miners – Miners work to verify transactions, put them in blocks that make up the blockchain. They do it through a process called ‘mining’
- Consensus – A piece of transaction information enters a block only after it has been sufficiently verified by the majority of the network participants. That’s how consensus ensures that blockchains remain free from fraudulent and double-spend transactions
- Immutability – Immutability is what keeps blocks entered in the blockchain to remain unchanged and tamper-proof
Are we missing something?
No Mojo without Crypto
Cryptocurrencies quantify the efforts required to keep blockchains operational. That’s how decentralized systems become complete economic models within themselves.
Which makes it pretty obvious that the basic blockchain knowledge isn’t much of use if you don’t know how crypto assets work. This is what you can do to address that. Make an account on an exchange and just buy some cryptocurrencies. It can be Bitcoin, Ethereum, Litecoin, or any other digital asset.
After buying crypto, try sending it to your friends and folks. Check out its blockchain explorer. To get a hang of the underlying process. This video below might make the understanding a bit better:
Understood how crypto transactions work? Now, it’s time to get to the meat of the matter – coding!
It is said that learning is best done from examples. The right place to study blockchain programming examples is GitHub. The website is a treasure trove of open-source blockchain codes and is a perfect platform to refer to all coding contributions from projects like Bitcoin, Ethereum, Hyperledger, Corda, etc.
You may feel a little worked up going through almost innumerable lines of code written to develop various decentralized projects, and that’s why it is imperative that you learn a few languages yourself.
But, approaching blockchain coding without prior programming experience may not be easy. That’s why as a beginner you should really start by learning languages that can help you ‘talk to a blockchain’. Gregory from Dapp University explains it best:
Not a beginner and think you are ready for the real deal? If you feel confident and determined to ignore the noob journey, here are some other languages worth checking out :
Out of all the three, Solidity is the most popular amongst developers. It is pretty evident from this data from StackOverflow mentioned in TNW.
It is Ethereum’s native coding language and is used to program ‘smart contracts’ that power all interactions and transactions on the second-largest public blockchain.
What? Smart Contracts?
Yes. Smart contracts are digital contracts programmed to ‘self-execute’ without third-party interference. This video explains it appropriately:
Now you must be wondering how to program these things. There are lots of resources available online that you can refer to. We personally recommend these:
- A 101 Noob Intro to Programming Smart Contracts on Ethereum – https://medium.com/@ConsenSys/a-101-noob-intro-to-programming-smart-contracts-on-ethereum-695d15c1dab4
- Ethereum Developer Resources – https://ethereum.org/developers/
There’s one thing, that keeps coming up in these articles – decentralized applications or Apps. If you are a beginner, you could get confused between dApps and smart contracts. It is crucial that you know the difference.
dApps are individual websites, programs/applications that run on decentralized networks. Smart contracts are the tools that make dApp operation possible.
Be a Community Participant
The above text is just a brief. There is so much more to know. You can start by reaching out to relevant folks. People who are actually doing the stuff on a day-to-day basis.
Participating in AMAs conducted by decentralized projects on social platforms like Reddit, and the IndiBits and WazirX Telegram groups and asking relevant queries can clear up a lot of things and provide you with a much-needed headstart.
Learning to program blockchain is like running a marathon. The road ahead is long and you should be patient, and agile during the entire journey.