Technical · 2019 · free/open
by Jimmy Song
Build a Bitcoin library from scratch in Python — learn by implementing.
Programming Bitcoin teaches the protocol by making you build it: over the course of the book you implement a Bitcoin library from scratch in Python — finite fields and elliptic curve math first, then keys and signatures, serialization, transactions, Script, blocks, proof-of-work validation, and the networking to talk to real nodes. Nothing is imported that you haven’t written.
Song’s approach is exercise-driven (the repo is open source with worked solutions), and its distinctive value is the first third: nowhere else is the cryptography under Bitcoin built up this patiently for a working programmer.
It suits developers who learn by doing and want to OWN their understanding of ECDSA and transaction internals. It is not a reference (that is Mastering Bitcoin) and not for non-programmers; comfort with Python and some math stamina are the entry fee.
The full bookshelf → · Prefer listening? Bitcoin Audible → · Terms you'll meet, defined →