Learn Bitcoin Core Development

Originally written by Satoshi Nakamoto, bitcoin proved that purely peer-to-peer electronic cash, one of the hardest computing problems, was possible. Becoming a Bitcoin Core developer is not for everyone, but for those that are willing to do the work will contribute to a legendary codebase designed to span generations.

Level 1

Get started with these text based sources to firm up your technical foundation and learn about the philosophy behind Bitcoin Core development.

Mastering Bitcoin
Mastering Bitcoin

The canonical primer on understanding the technical side of bitcoin. The 3rd edition promises to be the best release yet.

Bitcoin Development Philosophy
Bitcoin Development Philosophy

Gain a deeper understanding of Bitcoin's design trade-offs and philosophy, offering insights into over a decade of Bitcoin development and public debate.

Level 2

Get your hands dirty with some more advanced topics, exercises and simulations.

Chaincode Bitcoin Seminar
Chaincode Bitcoin Seminar

This program offers a curated curriculum and hands-on sessions to complete at your own pace or with a cohort of other keen explorers.

Learn Bitcoin from the Command Line
Learn Bitcoin from the Command Line

Use your own bitcoin node to execute transactions, script bitcoin operations, integrate with hardware wallets and hidden services with this step by step guide.

Transaction Tutorial
Transaction Tutorial

Get on a first name basis with SegWit and Taproot transactions. Add sighashes and timelocks to your list of friends by creating and signing Bitcoin transactions using a local bitcoind instance via Jupyter notebooks.

Minesim
Minesim

A comprehensive POW mining simulator offering a hands-on experience to explore block discovery, peer node configuration, and chain splits using realistic Poisson distribution models.

Tinybitcoinpeer
Tinybitcoinpeer

This exercise offers a unique and playful way to understand Bitcoin's network dynamics by connecting to live nodes on the network with 150 lines of Python.

Schnorr Taproot Workshop
Schnorr Taproot Workshop

The Schnorr/Taproot Workshop by Bitcoin Optech is an interactive walk through to learn about Schnorr signatures, MuSig aggregation, and Taproot applications via Jupyter notebooks.

Level 3

By now you have leveled up in the safety of reading and tutorials. It is time to start doing the work you came to do. Explore the codebase and start building your review skills.

Onboarding to Bitcoin Core
Onboarding to Bitcoin Core

This guide covers both the technical components such as, architecture, consensus, validation, the wallet, P2P, and script, but also introduces the under-documented social aspects like PR etiquette and the decentralized development process.

Bitcoin Core PR Review Club
Bitcoin Core PR Review Club

The Bitcoin Core PR Review Club is a monthly online meetup for discussing PRs and boosting your understanding of the codebase.

What's Next

Contributing to Bitcoin Core requires a stoic patience to onboard to a C++ codebase now in its teenage years. 99% of the nodes on the network run Bitcoin Core making it the bedrock of the ecosystem. If you are looking for a project that moves fast and breaks things, this is NOT the right fit for you. There are ~30 full-time contributors to Bitcoin Core and only a few newcomers join their ranks each year. Are you up for the challenge?