Blockchain Commons has recently released v2.0 of our Learning Bitcoin from the Command Line course.

Learning Bitcoin was one of our first projects, launched back in 2017 with support from Blockstream. The intent of the course was to teach the fundamentals of Bitcoin programming through Bitcoin Core and its RPC-based command-line interface. We chose this methodology because Bitcoin Core is one of the most robust, secure, and safe cryptocurrency interfaces in existence. We believe it’s the solid foundation for programming Bitcoin; it also allows you to interact with Bitcoin in a way that teaches the fundamentals.

Blockchain Commons’ overarcing goal has always been to improve the open infrastructure of the blockchain industry, and one of the ways to do that is to build the next generation of engineers. Our course was very successful in this regard. It has helped Bitcoin novices to become Bitcoin developers: some have created their own open-source projects and others have been hired for entry-level jobs. Some of Blockchain Commons’ own engineers, including many of our interns, got their start with the Learning Bitcoin course. Even GitHub’s raw numbers reveal the interest in the course, with 100 Watches, 350 Forks, and 1300 Stars.

However, Bitcoin is still undergoing rapid development, which led to the need for v2.0 of the course, to update it for the most recent releases Bitcoin 0.20.0 & 0.20.1: every example in the course has been updated and revised accordingly. The updated course has also has been expanded to include a number of new topics. New sections discuss wallet descriptors, SegWit, and how SegWit’s new transaction types interact with Bitcoin Scripts. We’ve also added new chapters for larger topics:

  • A chapter on PSBTs looks at Partially Signed Bitcoin Transactions as well as how they can be used with Bitcoin Core’s Hardware Interface.
  • Though our focus is on the command-line interface, we also show how to create simple C programs to talk to Bitcoin Core using RPC and ZMQ ( libraries.
  • Libwally from Blockstream is a great library to use with command-line programs, so another new Chapter covers leveraging its wallet and other cryptographic features.
  • We also touch upon RPC programming in Go, Java, NodeJS, Python, Rust, and Swift.
  • Finally, we’re proud to present our first look at using the Lightning Network from the command-line interface, focusing on Blockstream’s C-Lightning, in a two chapter finale to the book.

Bitcoin is quickly evolving, but the Learning Bitcoin course from Blockchain Commons is now updated to teach all about its newest concepts. If you’re a novice looking to learn about programming Bitcoin, an educator needing to teach students blockchain technologies, or an expert wanting to help us by reviewing, adding to, or translating the course, please take a look!

However, we need your support. Where v1 of Learning Bitcoin was largely sponsored by Blockstream, v2 was done with our own resources. We hope that you can help us recoup those costs, so that we can continue to create open infrastructure of all sorts. If you think that education resources of this sort are important, please become an Sustaining Sponsor, or if you prefer, make a one-time donation at our BTCPay. As an individual, you can join as one of our many individual sponsors to financially support future development of Learning Bitcoin, other educational resources, and open infrastructure.

Thank you for your help in improving our techological commons for blockchain and Bitcoin users!