Summary README Foreword Second (Community) Edition Introduction Why Blockchain Programming and not Bitcoin Programming? Why C#? Why this book? Crowdfunding this book Complementary reading Diagrams License: CC (ASA 3U) Prerequisites Project setup Bitcoin transfer Bitcoin address ScriptPubKey Private key Transaction Blockchain “The Blockchain is more than just Bitcoin” Spend your coin Proof of ownership as an authentication method Key generation and encryption Is it random enough? Key Derivation Function Like the good ol’ days BIP38 (Part 2) HD Wallet (BIP 32) Mnemonic Code for HD Keys (BIP39) Dark Wallet Other types of ownership P2PK[H] (Pay to Public Key [Hash]) P2WPKH (Pay to Witness Public Key Hash) Multi Sig P2SH (Pay To Script Hash) P2WSH (Pay to Witness Script Hash) P2W* over P2SH Arbitrary Using the TransactionBuilder Other types of asset Colored Coins Issuing an asset Transferring an asset Unit tests Ricardian contracts Liquid Democracy Proof of Burn and Reputation Protecting your private keys