Hello, it is so exciting to be in Block-chain Era, many industries are being disrupted and not just industries but developers. Block-chain becoming must learn technology in order to survive it’s tide & wave!, when you hear block-chain from experts you will get a first question in your mind with a series of sub-questions.
Can I become a block-chain programmer?,
- How do I learn it?
- Do we have any “step-by-step” guide?
- Which training institute provides better training?
- Would they give real-time use cases?
- Will that be sufficient enough for job-hunt?
- Would my existing skill-set be useful to adopt block-chain technology?
- Will I get any mentor?
List goes on & on…..
First ask yourself, if I can’t , then who else can?.. yes, it’s not that difficult to become a block-chain developer!. All we need is a properly structured road-map & patience. Most of the time, people end up reading so many articles and they keep jumping here and there without practising a bit, at the end they give-up. My only request for you is to be with little patience and practice regularly.
Stage 1 — ( 1 week) — Understanding Blockchain Basics
> Understand the basics of Block-chain Frameworks
> Crypto Algorithm & Encryption Technology
> Why Hyperledger?
> How Hyperledger is being used in “Enterprise”
> What are the factors to consider while choosing block-chain framework
- Identity Management, Scalability, Security, Crypto-economics, Support
Stage 2 — ( 1 week) — Understanding Hyperledger Frameworks/Tools
> Hyperledger Umbrella (Framework)
> List of projects in Hyperledger(Linux Foundation)
> Hyperledger Tools
> Building Blocks(Core) concepts of Hyperledger
- Shared Ledger(DLT)
- Smart Contracts — ChainCode
> Hyperledger Architecture
Stage 3 ( 3 weeks) — Executing existing use cases from github
> Choose the Use Case which you are interested to practice
> Prepare your System Environment
> Install / Deploy Hyperledger Fabric
> Execute “Tuna Fish” application to understand how single Org / Single Peer system works
> Execute “Letter of Credit” Application to understand how multi Org/ Multi Peer system works
> Track the errors you are facing & the solution you apply in a document
Stage 4 (1 week) — Deep diving into Hyperledger components
> Understand the list of components in Hyperledger( Orderer, Peer, Endorser, Committing Peer, Certificate Authority, CouchDB, Client Application, Middleware etc)
> Compare Single Org / Single Peer with the components you study
> Use “log” commands for respective containers to debug the same
Stage 5 (2 to 5 Weeks) — Building your own application
— if you are good with middleware / client application setup, then it would take hardly 1 to 2 weeks depending on your programming potential
> Steps in building application
- Network Setup ( Hyperledger Fabric )
- Middleware (Web Service)
- User Application
> Network Setup — Use hyperledger Fabric (single org/single peer) initially, don’t widespread the network if you are not 100% confident.
> Middleware — Use NodeJS/ExpressJS for web service setup
> ReactJS or Whatever framework you are comfortable with
Stage 6 ( 2 weeks ) — Prep for production Setup ?, then learn these
> Chaincode Updates / Upgrades
> Orderer (Kafka) & Zookeeper
> Cloud setup(AWS / Digital Ocean / Alibaba Cloud)
Course / Guides for reference
- Refer Github Repo, we have so many projects
- Go through EDX Course — Blockchain for Business — An Introduction to Hyperledger Technologies
- Hyperledger Handson Book — Ebook
- Hyperledger Fabric: How to setup application from scratch using NodeJs
- Blockchain Fundamentals & Quick bytes — 101blockchains.com
Practice, Practice & Practice….
Above timelines are just a number, it would go high / low but that depends on how many hours you invest on day to day basis, above weeks are calculated on an average if you spend 3 to 4 hours/day. So don’t just sit on that week calculation, if you are a quick learner!.
I have had so rough path while learning Hyperledger, since I didn’t have any proper roadmap. I just want to make sure, you are not facing the same. If you have any other materials which are good to share, please comment below, it would help others.