Bitcoin Developer Education
CONGRADUATIONS to Myself! and my inaugural Pathways Cohort Members!!!
Recap
This year, I've been fortunate enough to enter Btrust Builders learning Pathways to Bitcoin development. Q1 was definitely an absolute whirlwind of info and a real test for me in managing my time and applying my Computer Science knowledge in new in depth ways.
Btrust Builders Pathway 05 BOSS Cohort
The end of December I renewed my attempt at grappling with the Bitcoin codebase. The tasks to join the cohort required: a review of the project documentation; building the Bitcoin Core project from source; combing through the Python test suite and making ONLY one test fail. This task just 'bout made me cry more than once and it was an honest preview of the structure of the course and the nature of Open Source Development. You have to put in work, be proactive in gathering resources and reaching out for help, and having the Grit to Grind to the Solution.
Even though I honestly expected something a bit more hands-on at the outset, this was a welcome challenge to drive my experience. The asynchronous learning experience gave us access to mentors, learning materials and resources that you can consult. You're expected to do the work of engaging with any and all relevant materials, catching yourself up and then engaging mentors with informed positions.
This cohort continued for 3 months, winding down at the end of March. They really setup a series of challenges for us to tackle and work through 1-by-1. With the "Top Performers" being those who crossed the finish line first.
Some of the projects from this cohort included:
-
Bitcoin CLI RPC
Using the Bitcoin-cli command tool that comes with Bitcoin Core, create a series of increasingly difficult bash scripts to solve scenarios around Bitcoin transactions and reading blockchain information.
-
Signet Wallet
Using Python, C++, Rust, or any language, build the functionality of a signet (test network) Bitcoin Wallet such as recovering the current balance for a Bitcoin wallet and sending MultiSig transactions.
-
Warnet
In teams, simulate cyberwarfare defense and attack strategies on a Bitcoin test network.
-
Lightning RPC
Using bitcoind and lnd, learn and execute the basic functions of a Lightning node.
-
Lightning Router
Understand how Lightning nodes route transactions and calculate fees made when making payments.
Btrust Builders Pathway 02 Learn Bitcoin from the Command Line
This class was an INTENSE 6 weeks that started not long after the test servers from our BOSS cohort spun down.
Each week, we had a few more chapter from Learning Bitcoin from the Command-Line and were given a repo of exercises to test our understanding of the material.
From Chapters 1-13:
Building/Installing Bitcoin Core
Bash Scripting
Hexadecimal
Bitcoin Keys
Bitcoin Block and Transaction Structure and Protocol
Transaction Types
Inputs
Outputs
Other Properties
Scripts
Hashing Algorithms: SHA256, RIPEMD160, Hash160
Bitcoin Node RPC Functions and Bitcoin-CLI Commands
Additional Bash CLI Commands
Creating, Sending, and Managing Transactions
MultiSig Transactions
Locking and Unlocking Transactions
Hardware Wallets
Bitcoin Script
Timelocked Transactions
Puzzle Locking Scripts
Technical Takeaways and Next Steps
Building Puzzles and Scavenger Hunts to Unlock Transactions
Robust usage of Bitcoin / what existing libraries do / building my own library
Programming Bitcoin
Finance Genius
Educational Takeaways
Engage with Material
Practice
Meet/Discuss/Assist
Repeat