How to Use This Roadmap
Structure
The roadmap is divided into two main sections:
Universal Fundamentals
These are the topics every Bitcoin developer needs to understand, regardless of specialization. They are organized in a suggested learning order:
- Prerequisites — Programming, math, and systems knowledge you should have before diving into Bitcoin
- Bitcoin Fundamentals — History, philosophy, and core cryptographic concepts
- Bitcoin Architecture — The UTXO model, transactions, and Bitcoin Script
- P2P Network — How nodes communicate and the network protocol
- Basic Development — Setting up a node, understanding networks (mainnet/testnet/regtest), and basic wallet operations
Specialization Tracks
After completing the fundamentals, choose one (or more) tracks:
- Protocol Developer — Work on Bitcoin Core itself, consensus mechanisms, and protocol improvements
- Application Developer — Build applications on top of Bitcoin: wallets, payment processors, exchanges
- Infrastructure Developer — Create the tools and services the ecosystem depends on: explorers, indexers, APIs
- Mining Developer — Develop mining software, pool infrastructure, and hardware optimization
Tips
- Don't rush the fundamentals. A strong foundation makes specialization much easier.
- Practice as you learn. Each section includes practical exercises and project suggestions.
- Use regtest for experiments. The regtest network lets you mine blocks instantly and test without real funds.
- Refer to primary sources. We link to BIPs, Bitcoin Core source code, and official documentation wherever possible.
- Join the community. Bitcoin development is collaborative — ask questions, review code, and share what you learn.