Programming Bitcoin — Jimmy Song
Build Bitcoin from scratch in Python — elliptic curves, transactions, scripts, blocks.
Overview
Programming Bitcoin by Jimmy Song teaches you Bitcoin by building it from scratch in Python. Over the course of the book you implement the cryptographic and protocol machinery yourself — finite field arithmetic, elliptic-curve cryptography, key and signature handling, transaction parsing and serialization, Bitcoin Script, blocks, simplified payment verification, and SegWit — with exercises at each step so you write working code, not just read about it.
The strength is genuine understanding: by the end you don't just know that Bitcoin uses elliptic curves and scripts — you've coded them, which cements the concepts far better than prose. It's well-structured and paced for self-study. The honest caveats: it demands comfort with programming and a tolerance for math (the early elliptic-curve chapters are the steepest climb), it's Python-only, and it predates some newer features — notably it stops before Taproot and doesn't cover Lightning, so it's a foundations book rather than a current-everything reference.
Buy it if you're a programmer who learns by implementing and wants to truly understand Bitcoin's internals. If you want a conceptual technical overview without writing code, Mastering Bitcoin or Grokking Bitcoin fit better.
Key features
- Format: paperback
- Language: Python — hands-on coding throughout
- Level: for programmers; math comfort helps
- Topics: elliptic curves, transactions, Script, blocks, SPV, SegWit
- Exercises build a working Bitcoin library step by step
- Learn-by-doing structure ideal for self-study
- Predates Taproot and does not cover Lightning
Specs
- format Paperback
- language Python
Who it’s for
Programmers who learn by building the protocol themselves.
Programming Bitcoin — Jimmy Song: frequently asked questions
Do I need to know how to code?
Yes. It's a build-it-yourself book in Python and assumes programming ability plus a tolerance for the early elliptic-curve math.
Does it cover Taproot and Lightning?
No. It stops before Taproot and doesn't cover Lightning — it's a foundations book, so supplement with current sources for newer features.
How is it different from Mastering Bitcoin?
Mastering Bitcoin explains and references the protocol; Programming Bitcoin has you implement it yourself in Python for deeper, hands-on understanding.
Is the math hard?
The elliptic-curve chapters are the steepest part, but the book walks through them; persistence matters more than advanced math background.
More in Books
Broken Money — Lyn Alden
Why the money system is broken and how Bitcoin could fix it — the measured, data-driven macro case. Increasingly the top single recommendation.
The Bitcoin Standard — Saifedean Ammous
The influential "sound money" case via monetary history. Persuasive, but heavily Austrian-biased and its stock-to-flow model aged badly.
Mastering Bitcoin (3rd ed.) — Antonopoulos & Harding
The technical bible: keys, transactions, scripts, mining, SegWit/Taproot/Lightning — with code. Free online, genuinely technical.