Book Description
Dive into Bitcoin technology with this handson guide from one of the leading teachers on Bitcoin and Bitcoin programming. Author Jimmy Song shows Python programmers and developers how to program a Bitcoin library from scratch. You’ll learn how to work with the basics, including the math, blocks, network, and transactions behind this popular cryptocurrency and its blockchain payment system.
By the end of the book, you'll understand how this cryptocurrency works under the hood by coding all the components necessary for a Bitcoin library. Learn how to create transactions, get the data you need from peers, and send transactions over the network. Whether you’re exploring Bitcoin applications for your company or considering a new career path, this practical book will get you started.
 Parse, validate, and create bitcoin transactions
 Learn Script, the smart contract language behind Bitcoin
 Do exercises in each chapter to build a Bitcoin library from scratch
 Understand how proofofwork secures the blockchain
 Program Bitcoin using Python 3
 Understand how simplified payment verification and light wallets work
 Work with publickey cryptography and cryptographic primitives
Table of Contents
 Foreword
 Preface
 1. Finite Fields
 2. Elliptic Curves

3. Elliptic Curve Cryptography
 Elliptic Curves over Reals
 Elliptic Curves over Finite Fields
 Coding Elliptic Curves over Finite Fields
 Point Addition over Finite Fields
 Coding Point Addition over Finite Fields
 Scalar Multiplication for Elliptic Curves
 Scalar Multiplication Redux
 Mathematical Groups
 Coding Scalar Multiplication
 Defining the Curve for Bitcoin
 Public Key Cryptography
 Signing and Verification
 Conclusion
 4. Serialization
 5. Transactions
 6. Script
 7. Transaction Creation and Validation
 8. PaytoScript Hash
 9. Blocks
 10. Networking
 11. Simplified Payment Verification
 12. Bloom Filters
 13. Segwit
 14. Advanced Topics and Next Steps

A. Solutions
 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
 Index
Product Information
 Title: Programming Bitcoin
 Author(s):
 Release date: February 2019
 Publisher(s): O'Reilly Media, Inc.
 ISBN: 9781492031482