Resources for Learning Blockchain Development

Reading Time: 6 minutes

The Blockchain sector has undergone dramatic growth since the beginning of 2017. Meanwhile, the demand for blockchain developers familiar has vastly outpaced their supply. This February, Toptal launched an On-Demand Talent Network for Blockchain Engineering, saying the demand for blockchain talent increased by over 700% since early 2017. In Q2 of 2018, Blockchain was Upwork’s fastest growing skill. That talent gap is only widening, as more positions open every day. Experienced blockchain developers command sky-high salaries, leaving many wondering how to become a blockchain developer. The aim of this guide is to serve as a thorough introduction to popular paths to begin developing with blockchain, including a curated collection of resources for each. Contents: What is Blockchain?

Foundations

Core Development

Smart Contracts and dApp Development

Permissioned Ledgers

Hackathons

Developing Chat

Conclusions

Additional Resources



What is Blockchain?

Bitcoin pioneered the use of blockchain, creating a peer-to-peer digital payment protocol. Bitcoin is maintained by decentralized network of miners who validate transactions while competing to solve a cryptographic challenge and seal the block. Each new block that a miner produces comes with a reward in tokens, providing an incentive for maintaining the network.

The success of Bitcoin inspired the creation of many other cryptocurrencies, with governments and enterprise working to recreate the benefits of blockchain in private networks, without proof-of-work mining.

Foundations

The Bitcoin whitepaper is where blockchain began, and is only 8 pages long. Next on our reading list is Andreas Antonopoulos’ Mastering Bitcoin is essential reading for everyone interested in learning about the technical operations of Bitcoin.

If you can use a programming language, this book will teach you how cryptographic currencies work, how to use them, and how to develop software that works with them. The first few chapters are also suitable as an in-depth introduction to bitcoin for noncoders—those trying to understand the inner workings of bitcoin and cryptocurrencies. —Mastering Bitcoin

Ethereum’s ConsenSys Academy recently published a free course called Blockchain Foundations and Use-Cases as an introduction to blockchain for developers and non-developers alike. It also serves as an introduction to some of the philosophy behind decentralization.

Core Development

If you want to dive deeper into Bitcoin, check out Bitcoin.org’s Developer Guide. A great resource for helping with the Bitcoin protocol on Github is: A Gentle Introduction to Bitcoin Core Development. That guide may also prove useful for participating in other blockchain Github repositories. lopp.net/bitcoin.html has the largest collection of Bitcoin resources available anywhere.

Other resources for Bitcoin developing:

Build your own blockchain:

Besides Bitcoin, there are thousands of open-source blockchain initiatives to participate in. If you’d like to learn more about building a blockchain from scratch, you’ll find an excellent collection of resources through the following links.

Ethereum Smart Contracts

While exploring blockchain fundamentals, the simplest entry point is to build applications on an already established blockchain. Smart contracts are one of the most important innovation made possible by blockchain. These blockchain enabled programs eliminate the need for trusted third parties to administrate programmatically verifiable conditions. Ethereum was the first blockchain designed to enable smart contracts. Its tokens are programmable, and their code is run simultaneously by every node in the network.



In the most basic example, a smart contract can verify conditions for tokens to be transferred to another user, or refunded to the issuer. In short, a smart contract enables the verifiable execution of a programmable agreement. This feature allows developers to harness the capabilities of the Ethereum blockchain, without having to build and maintain their own.



Ethereum smart contracts are written in Solidity, which was specifically designed for that purpose. Although Solidity was designed for Ethereum, it is gaining support with other blockchains, as well.

Ethereum Developing Resources:

It won’t necessarily take a long time to learn how to create a smart contract, but becoming a good smart contract developer requires diligence. Mistakes in smart contracts have turned out to be quite costly. Once deployed, an Ethereum smart contract is unalterable, making any bugs in the code permanent. Because of the risks involved, efforts have organized around peer review and formal verification.

Permissioned Ledgers



There are many different blockchains, cryptocurrencies, and feature-rich platforms currently being developed. However most of them are public blockchains that anyone may access, and all of their transactions are broadcast to the entire network. While those features are essential in decentralized systems, they don’t quite fit the needs of many enterprise applications.

IBM’s Introduction to Distributed Ledger serves as a general introduction to blockchain for Governments and Enterprises who wish to make use of permissioned ledgers. Hyperledger’s offers a free online course called Blockchain For Business which is a general introduction to blockchain and the Hyperledger family, including information and examples regarding its use.

Hyperledger is a cross-industry open source collaborative hosted by the Linux Foundation, co-founded with IBM. Their aim is to improve the performance and reliability of blockchain technology so that it can be suitable for global enterprise.

The Hyperledger Foundation hosts the following projects:



Hyperledger Fabric is a modular, permissioned blockchain, customizable to suit each implementation. Its smart contracts are referred to as “chaincode” and can be written in Go, Javascript, and Java. Fabric was the first to graduate from incubation and has the most popular appeal. https://github.com/wearetheledger/awesome-hyperledger-fabric https://hyperledger-fabric.readthedocs.io



Hyperledger Sawtooth is also highly modular and was initially developed by Intel. It is made for both public and private networks, introducing a new consensus mechanism “Proof of elapsed time.” PoET uses a hardware-based random number generator that chooses the next block producer. Sawtooth was the second Hyperledger project to graduate from incubation. https://sawtooth.hyperledger.org/docs/core/releases/latest/introduction.html



Hyperledger Burrow is an instance of the Ethereum Virtual Machine made to run in permissioned networks. Burrow is in the incubation phase of the Hyperledger project, and makes it possible to share processes across company boundaries. https://wiki.hyperledger.org/projects/burrow https://github.com/hyperledger/burrow



Hyperledger Iroha is aimed at applications requiring fast synchronous transactions with small payloads. It is considered ideal for building decentralized backends of mobile applications. iroha.tech



Hyperledger Indy is also in the incubation phase of the Hyperledger project, and the one I’m the most excited about. The focus of Indy is in providing the tools for decentralized self-sovereign identity is also in the incubation phase of the Hyperledger project, and the one I’m the most excited about. The focus of Indy is in providing the tools for decentralizedmanagement. Indy is in the incubation phase but getting close to graduation. wiki.hyperledger.org/projects/indy github.com/hyperledger/indy-sdk The Technical Foundations of Sovrin /infominer33/awesome-decentralized-id



All of the Hyperledger projects have discussion channels available via chat.hyperledger.org.

Hackathons

The role of hackathons in the blockchain revolution should not be underestimated. Competitors apply creative solutions, and collaborate to solve practical challenges and win prizes. Hackathons are a great way to learn and meet other developers from different walks of life. The Hackathon encourages efficiency and creativity in a competition against a deadline. They also foster a friendly atmosphere, a low barrier to entry, and the opportunity to work with new people solving real world problems.

Blockchain Hackathon Directories:

Blockchain Developing Chat Blockchain Developer Club – A great space to discuss and ask questions, many of these resources were found in that server.

Crypto Devs – New to me, but appears to be a good place to check out. Podcasts Zero Knowledge

The Smartest Contract Conclusion The blockchain sector is rife with possibilities, especially for developers. The world is just beginning to become aware of the potential of blockchain, and there is still plenty of time to learn the trade. There is a lot to learn in this sector, and many paths to go down. There are a multitude of open source projects to participate in, smart contract platforms to build onto; along with the permissioned chains under development by Hyperledger, and R3. If you aren’t immediately inspired cryptojobslist.com is one of the more popular job boards that deals explicitly with cryptocurrency related jobs, you may also want to try blockchainjobz.com to get some ideas of where you’d like to focus your efforts.

There are also a ton of additional blockchain resources in the Crypto Public Library chat server, including developing resources organized by crypto project, a hackathons channel, and much more.

References

Additional Resources