This repository contains solutions to the exercises in the Programming Bitcoin book, by Jimmy Song. The book shows how to build a Bitcoin library from scratch, starting with fundamental cryptographic primitives, and then implementing Bitcoin-specific functionality like transactions, script and blocks. The exercises in the book are written in Python, so the code has been ported to Rust with the equivalent functionality.
- Chapter 1: Finite Fields
- Chapter 2: Elliptic Curves
- Chapter 3: Elliptic Curve Cryptography
- Chapter 4: Serialization
- Chapter 5: Transactions
- Chapter 6: Script
- Chapter 7: Transaction Creation and Validation
- Chapter 8: Pay to Script Hash
- Chapter 9: Blocks
- Chapter 10: Networking
- Chapter 11: Simplified Payment Verification
- Chapter 12: Bloom Filters
- Chapter 13: Segwit