Newbie guide to Blockchain programming

ETHIndia
ETHIndia
Jul 30, 2018 · 5 min read

A short primer on getting started with Blockchain development

Image for post
Image for post

A lot of developers who are just starting off with blockchain have questions like these -

This is actually quite common. Blockchain does have a steep learning curve, and it does require a fair bit of patience to gain an understanding of just the basics. But once you understand the basics, it is guaranteed to be a fun ride. Many people — developers and non-developers alike, have likened this experience to “falling down the rabbit hole”, a la Alice from Alice’s Adventures in Wonderland!

There is this quote by Peter Smith in this Wired article, which is quite amusing and true:

You can replace “Bitcoin” with “blockchain” and it is still the same — dare I say, even more than that.

There is actually now quite a lot of introductory material for learning blockchain development on the Internet nowadays, and I will list a few of the excellent collections of intermediate to advanced learning resources at the bottom of this post for your reference. This post is a relatively simple to-do for your first steps into the blockchain space.

Do note most of the advice here in this blog post will help you in understanding public blockchain development, mostly Ethereum. For resources in private blockchain space — Hyperledger, etc — you might need to look for better alternative learning paths. However, the basics of both are the same, and you should always start with understanding how a public blockchain works. As you ahead in your blockchain journey, you will come to realise that a public blockchain solution with it’s attendant constraints will mostly always work on a private chain setup as well, but the inverse is not guaranteed to be true. Private chains offer deceptively more functionality, but sometimes end up being poor cousins of databases if not implemented correctly, which defeat the entire purpose of blockchains. But I am getting way ahead of me…

You must have most certainly heard of Solidity and Ethereum. Solidity is one of the higher-level languages that you can use to program smart contracts on Ethereum. And there are many introductory articles on getting started with Solidity. In fact, there is even a Code School-style learning game called CryptoZombies, which teaches Solidity in a fun, interative manner.

However DO NOT start with Solidity first.

Before getting into Solidity specifics, it is imperative that you truly understand what blockchain technology is and what it can be used for. Start off with a few videos on what Bitcoin and blockchain are. Watch this short video first, and then this longer one. This article is also a good starting point.

Do note that “blockchain technology” is actually a combination of 4 components:

  • Peer-to-peer networks
  • Consensus mechanism; crypto economics and game theory
  • Cryptography
  • Blockchain data structure

You will need to gain an understanding of all 4 of these components at a basic level to be start off with. Ha, I told you, it has a steep learning curve!

I recommend every newbie developer to start with reading (and re-reading!) “Mastering Bitcoin” by Andreas Antonopoulos to get a clear idea of how a typical blockchain network works. Along with this, read the Bitcoin whitepaper here, the original author being the awesome Satoshi Nakamoto.

At the same, you can go through the “Internet of Money” playlists on Youtube by Andreas Antonopoulos. This will give you an overview of the business use cases and shifts that are going to happen with the emergence of Bitcoin and blockchain in general. Links to these can be found here

Take your time to understand the basics of Bitcoin. Follow along with basic scripts and query the Bitcoin network.

Once you are comfortable with the basics of Bitcoin, move onto “Mastering Ethereum” by Andreas A. and Gavin W. — this is still a Work-in-Progress and is available directly on Github. You can read the whitepaper and the yellowpaper here. If you find the whitepaper a little dense, go for the yellowpaper first.

Once you are through the first few chapters of Mastering Ethereum, start writing basic scripts to query the blockchain and understand the Ethereum data structures — transactions, receipts and the world state. You can see a great depiction of the block structure here.

Finish the book; and simultaneously move to writing basic smart contracts for a few real use cases. Not all applications can be ported to the blockchain — look for concrete use cases. Go back to https://cryptozombies.io/ if you want. Start writing a sample DApp (Decentralized Application).

To make it easy, you can go through this blog series:

Ethereum Development Walkthrough

That’s it — this should be more than enough to get you going. Feel free to reach out to me at anurag@matic.network or anyone else at ETHIndia or Matic Network if you wish to start your blockchain journey.

There is another frequent debate that comes up — public chain vs private chain. Rather than take sides, you can go through this excellent article by Vitalik Buterin on the subject.

As promised, more links are given here for reference:


ETHIndia

Asia's biggest Ethereum hackathon | 2–4 August, 2019 @…

ETHIndia

Written by

ETHIndia

Asia's biggest Ethereum hackathon | 10–12 August, 2018 @ Bangalore! #BUIDL #Ethereum #ETHIndia #ETHGlobal 🚀

ETHIndia

ETHIndia

Asia's biggest Ethereum hackathon | 2–4 August, 2019 @ Bangalore! #BUIDL #Ethereum #ETHIndia 🚀

ETHIndia

Written by

ETHIndia

Asia's biggest Ethereum hackathon | 10–12 August, 2018 @ Bangalore! #BUIDL #Ethereum #ETHIndia #ETHGlobal 🚀

ETHIndia

ETHIndia

Asia's biggest Ethereum hackathon | 2–4 August, 2019 @ Bangalore! #BUIDL #Ethereum #ETHIndia 🚀

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store