├── .gitignore ├── 00_ec_math ├── 01_ec_math_exercise_bx.ipynb ├── 01_ec_math_exercise_bx_solution.ipynb ├── 02_ec_math_example_cpp.ipynb ├── README.md ├── ec_math_cpp │ ├── ec_math │ ├── ec_math.cpp │ ├── ec_math_demo │ └── ec_math_demo.cpp └── images │ └── ec_math_operations.jpg ├── 02_addresses_hd_wallets ├── 00_basic_wallet_bx_example.ipynb ├── 01_basic_wallet_bx_exercise.ipynb ├── 01_basic_wallet_bx_exercise_solutions.ipynb ├── 02_hd_wallet_bx_example.ipynb ├── 03_hd_wallet_bx_exercise.ipynb ├── 03_hd_wallet_bx_exercise_solutions.ipynb ├── 04_hd_wallet_cpp_example.ipynb ├── 05_hd_key_exposure_cpp_example.ipynb ├── README.md ├── images │ ├── address_from_pubkey.jpg │ ├── address_from_pubkey_base58.jpg │ ├── address_from_pubkey_checksum.jpg │ ├── address_from_pubkey_exercise.jpg │ ├── address_from_pubkey_hash160.jpg │ ├── hd_children_derivation.jpg │ ├── hd_children_derivation_cpp.jpg │ ├── hd_mnemonic_to_master.jpg │ ├── hd_mnemonic_to_master_cpp.jpg │ ├── hd_parent_exposure.jpg │ ├── hd_wallet_recovery.jpg │ └── private_key_wif.jpg ├── supporting_scripts │ ├── secp256k1_initializer.cpp │ └── secp256k1_initializer.hpp └── watch_only_wallet_cpp │ ├── include │ ├── database.hpp │ └── wallet.hpp │ ├── main.cpp │ ├── makefile │ ├── src │ ├── database.cpp │ └── wallet.cpp │ └── test │ ├── database.cpp │ ├── main.cpp │ ├── makefile │ └── wallet.cpp ├── 03_transactions_introduction ├── 00_transaction_build_bx_example.ipynb ├── 01_spend_p2pkh_bx_exercise.ipynb ├── 01_spend_p2pkh_bx_exercise_solution.ipynb ├── README.md └── images │ ├── first_transaction.jpg │ ├── transaction_anyonecanpay_single.jpg │ └── transaction_signing_bx.jpg ├── 04_transactions_sighash_modifiers ├── 00_anyone_single_bx_example.ipynb ├── 01_singleanyone_none_bx_exercise.ipynb ├── 01_singleanyone_none_bx_exercise_solutions.ipynb ├── README.md └── images │ ├── first_transaction.jpg │ ├── transaction_singleany.jpg │ └── transaction_singleany_none.jpg ├── 05_transactions_p2sh_multisig ├── 00_receive_p2sh_multisig_bx_exercise.ipynb ├── 00_receive_p2sh_multisig_bx_exercise_solutions.ipynb ├── 01_spend_p2sh_multisig_bx_exercise.ipynb └── 01_spend_p2sh_multisig_bx_exercise_solutions.ipynb ├── 06_transactions_timelocks ├── 00_checklocktimeverify_bx_exercise.ipynb ├── 00_checklocktimeverify_bx_exercise_solutions.ipynb ├── 01_checksequenceverify_bx_exercise.ipynb ├── 01_checksequenceverify_bx_exercise_solutions.ipynb ├── README.md └── images │ ├── cltv_overview.jpg │ ├── csv_overview.jpg │ ├── spend_from_cltv.jpg │ ├── spend_from_csv.jpg │ ├── spend_to_cltv.jpg │ └── spend_to_csv.jpg ├── 07_transactions_return ├── 00_timestamp_return_bx_exercise.ipynb └── 00_timestamp_return_bx_exercise_solutions.ipynb ├── 08_transactions_witness ├── 00_p2wpkh_example_cpp.ipynb ├── 01_p2wsh_example_cpp.ipynb ├── images │ ├── p2wpkh.jpg │ └── p2wsh.jpg ├── spend_from_p2wpkh.cpp ├── spend_from_p2wsh.cpp ├── spend_to_p2wpkh.cpp └── spend_to_p2wsh.cpp ├── 09_block_parsing ├── 00_block_parsing_bx_exercises.ipynb ├── 00_block_parsing_bx_exercises_solutions.ipynb ├── 02_server_fetch_height_cpp_example.ipynb ├── 03_server_fetch_coinbase_hash_cpp_example.ipynb ├── 99_server_fetch_block_cpp_example.ipynb ├── README.md └── images │ ├── curve_cp_security.jpg │ ├── reply_stream_method.jpg │ ├── zmq_message.jpg │ └── zmq_req_rep.jpg ├── 10_p2p ├── request_block_witness_root.cpp └── request_block_witness_root_solution.cpp ├── 11_simplified_payment_verification ├── 00_header_chain_verification_cpp_example.ipynb ├── 01_watch_address_cpp_example.ipynb ├── 02_merkle_proof_cpp_example.ipynb ├── README.md └── images │ ├── spv_header_validation.jpg │ ├── spv_merkle_proof.jpg │ └── spv_watch_tx.jpg ├── 12_payment_channels ├── 00_payment_channel_bx_example.ipynb ├── 00_payment_channel_bx_example_solutions.ipynb ├── README.md └── images │ ├── payment_channel_funding.jpg │ ├── payment_channel_penalty.jpg │ └── payment_channel_update.jpg ├── A_script_machine_tool ├── 00_script_machine_testing_tool_(p2sh(p2w)).ipynb ├── 00_script_machine_testing_tool_(used).ipynb ├── README.md ├── images │ └── script_evaluation_bip_16_141.jpg └── supporting_scripts │ └── script_machine.cpp ├── B_bitcoinedge_tokyo ├── README.md ├── images │ ├── curve_cp_security.jpg │ ├── ec_math_operations.jpg │ ├── reply_stream_method.jpg │ ├── spv_header_validation.jpg │ ├── spv_merkle_proof.jpg │ ├── spv_watch_tx.jpg │ ├── zmq_message.jpg │ └── zmq_req_rep.jpg ├── libbitcoin_ec_math_bx_cpp.ipynb ├── libbitcoin_fetch_height_cpp.ipynb ├── libbitcoin_spv_header_chain_cpp.ipynb ├── libbitcoin_spv_merkle_cpp.ipynb └── libbitcoin_spv_watch_address_cpp.ipynb ├── LICENSE.md ├── README.md ├── Vagrantfile ├── bx_config_files ├── bx.cfg ├── bx_mainnet.cfg └── bx_testnet.cfg └── setup ├── AWS_linux2_setup.sh └── bx_config_files ├── bx.cfg ├── bx_mainnet.cfg └── bx_testnet.cfg /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/.gitignore -------------------------------------------------------------------------------- /00_ec_math/01_ec_math_exercise_bx.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/01_ec_math_exercise_bx.ipynb -------------------------------------------------------------------------------- /00_ec_math/01_ec_math_exercise_bx_solution.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/01_ec_math_exercise_bx_solution.ipynb -------------------------------------------------------------------------------- /00_ec_math/02_ec_math_example_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/02_ec_math_example_cpp.ipynb -------------------------------------------------------------------------------- /00_ec_math/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/README.md -------------------------------------------------------------------------------- /00_ec_math/ec_math_cpp/ec_math: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/ec_math_cpp/ec_math -------------------------------------------------------------------------------- /00_ec_math/ec_math_cpp/ec_math.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/ec_math_cpp/ec_math.cpp -------------------------------------------------------------------------------- /00_ec_math/ec_math_cpp/ec_math_demo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/ec_math_cpp/ec_math_demo -------------------------------------------------------------------------------- /00_ec_math/ec_math_cpp/ec_math_demo.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/ec_math_cpp/ec_math_demo.cpp -------------------------------------------------------------------------------- /00_ec_math/images/ec_math_operations.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/00_ec_math/images/ec_math_operations.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/00_basic_wallet_bx_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/00_basic_wallet_bx_example.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/01_basic_wallet_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/01_basic_wallet_bx_exercise.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/01_basic_wallet_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/01_basic_wallet_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/02_hd_wallet_bx_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/02_hd_wallet_bx_example.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/03_hd_wallet_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/03_hd_wallet_bx_exercise.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/03_hd_wallet_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/03_hd_wallet_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/04_hd_wallet_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/04_hd_wallet_cpp_example.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/05_hd_key_exposure_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/05_hd_key_exposure_cpp_example.ipynb -------------------------------------------------------------------------------- /02_addresses_hd_wallets/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/README.md -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/address_from_pubkey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/address_from_pubkey.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/address_from_pubkey_base58.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/address_from_pubkey_base58.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/address_from_pubkey_checksum.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/address_from_pubkey_checksum.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/address_from_pubkey_exercise.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/address_from_pubkey_exercise.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/address_from_pubkey_hash160.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/address_from_pubkey_hash160.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_children_derivation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_children_derivation.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_children_derivation_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_children_derivation_cpp.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_mnemonic_to_master.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_mnemonic_to_master.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_mnemonic_to_master_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_mnemonic_to_master_cpp.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_parent_exposure.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_parent_exposure.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/hd_wallet_recovery.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/hd_wallet_recovery.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/images/private_key_wif.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/images/private_key_wif.jpg -------------------------------------------------------------------------------- /02_addresses_hd_wallets/supporting_scripts/secp256k1_initializer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/supporting_scripts/secp256k1_initializer.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/supporting_scripts/secp256k1_initializer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/supporting_scripts/secp256k1_initializer.hpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/include/database.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/include/database.hpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/include/wallet.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/include/wallet.hpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/main.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/makefile -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/src/database.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/src/database.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/src/wallet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/src/wallet.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/test/database.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/test/database.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/test/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/test/main.cpp -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/test/makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/test/makefile -------------------------------------------------------------------------------- /02_addresses_hd_wallets/watch_only_wallet_cpp/test/wallet.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/02_addresses_hd_wallets/watch_only_wallet_cpp/test/wallet.cpp -------------------------------------------------------------------------------- /03_transactions_introduction/00_transaction_build_bx_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/00_transaction_build_bx_example.ipynb -------------------------------------------------------------------------------- /03_transactions_introduction/01_spend_p2pkh_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/01_spend_p2pkh_bx_exercise.ipynb -------------------------------------------------------------------------------- /03_transactions_introduction/01_spend_p2pkh_bx_exercise_solution.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/01_spend_p2pkh_bx_exercise_solution.ipynb -------------------------------------------------------------------------------- /03_transactions_introduction/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/README.md -------------------------------------------------------------------------------- /03_transactions_introduction/images/first_transaction.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/images/first_transaction.jpg -------------------------------------------------------------------------------- /03_transactions_introduction/images/transaction_anyonecanpay_single.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/images/transaction_anyonecanpay_single.jpg -------------------------------------------------------------------------------- /03_transactions_introduction/images/transaction_signing_bx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/03_transactions_introduction/images/transaction_signing_bx.jpg -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/00_anyone_single_bx_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/00_anyone_single_bx_example.ipynb -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/01_singleanyone_none_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/01_singleanyone_none_bx_exercise.ipynb -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/01_singleanyone_none_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/01_singleanyone_none_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/README.md -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/images/first_transaction.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/images/first_transaction.jpg -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/images/transaction_singleany.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/images/transaction_singleany.jpg -------------------------------------------------------------------------------- /04_transactions_sighash_modifiers/images/transaction_singleany_none.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/04_transactions_sighash_modifiers/images/transaction_singleany_none.jpg -------------------------------------------------------------------------------- /05_transactions_p2sh_multisig/00_receive_p2sh_multisig_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/05_transactions_p2sh_multisig/00_receive_p2sh_multisig_bx_exercise.ipynb -------------------------------------------------------------------------------- /05_transactions_p2sh_multisig/00_receive_p2sh_multisig_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/05_transactions_p2sh_multisig/00_receive_p2sh_multisig_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /05_transactions_p2sh_multisig/01_spend_p2sh_multisig_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/05_transactions_p2sh_multisig/01_spend_p2sh_multisig_bx_exercise.ipynb -------------------------------------------------------------------------------- /05_transactions_p2sh_multisig/01_spend_p2sh_multisig_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/05_transactions_p2sh_multisig/01_spend_p2sh_multisig_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /06_transactions_timelocks/00_checklocktimeverify_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/00_checklocktimeverify_bx_exercise.ipynb -------------------------------------------------------------------------------- /06_transactions_timelocks/00_checklocktimeverify_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/00_checklocktimeverify_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /06_transactions_timelocks/01_checksequenceverify_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/01_checksequenceverify_bx_exercise.ipynb -------------------------------------------------------------------------------- /06_transactions_timelocks/01_checksequenceverify_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/01_checksequenceverify_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /06_transactions_timelocks/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/README.md -------------------------------------------------------------------------------- /06_transactions_timelocks/images/cltv_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/cltv_overview.jpg -------------------------------------------------------------------------------- /06_transactions_timelocks/images/csv_overview.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/csv_overview.jpg -------------------------------------------------------------------------------- /06_transactions_timelocks/images/spend_from_cltv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/spend_from_cltv.jpg -------------------------------------------------------------------------------- /06_transactions_timelocks/images/spend_from_csv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/spend_from_csv.jpg -------------------------------------------------------------------------------- /06_transactions_timelocks/images/spend_to_cltv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/spend_to_cltv.jpg -------------------------------------------------------------------------------- /06_transactions_timelocks/images/spend_to_csv.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/06_transactions_timelocks/images/spend_to_csv.jpg -------------------------------------------------------------------------------- /07_transactions_return/00_timestamp_return_bx_exercise.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/07_transactions_return/00_timestamp_return_bx_exercise.ipynb -------------------------------------------------------------------------------- /07_transactions_return/00_timestamp_return_bx_exercise_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/07_transactions_return/00_timestamp_return_bx_exercise_solutions.ipynb -------------------------------------------------------------------------------- /08_transactions_witness/00_p2wpkh_example_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/00_p2wpkh_example_cpp.ipynb -------------------------------------------------------------------------------- /08_transactions_witness/01_p2wsh_example_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/01_p2wsh_example_cpp.ipynb -------------------------------------------------------------------------------- /08_transactions_witness/images/p2wpkh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/images/p2wpkh.jpg -------------------------------------------------------------------------------- /08_transactions_witness/images/p2wsh.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/images/p2wsh.jpg -------------------------------------------------------------------------------- /08_transactions_witness/spend_from_p2wpkh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/spend_from_p2wpkh.cpp -------------------------------------------------------------------------------- /08_transactions_witness/spend_from_p2wsh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/spend_from_p2wsh.cpp -------------------------------------------------------------------------------- /08_transactions_witness/spend_to_p2wpkh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/spend_to_p2wpkh.cpp -------------------------------------------------------------------------------- /08_transactions_witness/spend_to_p2wsh.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/08_transactions_witness/spend_to_p2wsh.cpp -------------------------------------------------------------------------------- /09_block_parsing/00_block_parsing_bx_exercises.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/00_block_parsing_bx_exercises.ipynb -------------------------------------------------------------------------------- /09_block_parsing/00_block_parsing_bx_exercises_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/00_block_parsing_bx_exercises_solutions.ipynb -------------------------------------------------------------------------------- /09_block_parsing/02_server_fetch_height_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/02_server_fetch_height_cpp_example.ipynb -------------------------------------------------------------------------------- /09_block_parsing/03_server_fetch_coinbase_hash_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/03_server_fetch_coinbase_hash_cpp_example.ipynb -------------------------------------------------------------------------------- /09_block_parsing/99_server_fetch_block_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/99_server_fetch_block_cpp_example.ipynb -------------------------------------------------------------------------------- /09_block_parsing/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/README.md -------------------------------------------------------------------------------- /09_block_parsing/images/curve_cp_security.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/images/curve_cp_security.jpg -------------------------------------------------------------------------------- /09_block_parsing/images/reply_stream_method.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/images/reply_stream_method.jpg -------------------------------------------------------------------------------- /09_block_parsing/images/zmq_message.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/images/zmq_message.jpg -------------------------------------------------------------------------------- /09_block_parsing/images/zmq_req_rep.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/09_block_parsing/images/zmq_req_rep.jpg -------------------------------------------------------------------------------- /10_p2p/request_block_witness_root.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/10_p2p/request_block_witness_root.cpp -------------------------------------------------------------------------------- /10_p2p/request_block_witness_root_solution.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/10_p2p/request_block_witness_root_solution.cpp -------------------------------------------------------------------------------- /11_simplified_payment_verification/00_header_chain_verification_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/00_header_chain_verification_cpp_example.ipynb -------------------------------------------------------------------------------- /11_simplified_payment_verification/01_watch_address_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/01_watch_address_cpp_example.ipynb -------------------------------------------------------------------------------- /11_simplified_payment_verification/02_merkle_proof_cpp_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/02_merkle_proof_cpp_example.ipynb -------------------------------------------------------------------------------- /11_simplified_payment_verification/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/README.md -------------------------------------------------------------------------------- /11_simplified_payment_verification/images/spv_header_validation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/images/spv_header_validation.jpg -------------------------------------------------------------------------------- /11_simplified_payment_verification/images/spv_merkle_proof.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/images/spv_merkle_proof.jpg -------------------------------------------------------------------------------- /11_simplified_payment_verification/images/spv_watch_tx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/11_simplified_payment_verification/images/spv_watch_tx.jpg -------------------------------------------------------------------------------- /12_payment_channels/00_payment_channel_bx_example.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/00_payment_channel_bx_example.ipynb -------------------------------------------------------------------------------- /12_payment_channels/00_payment_channel_bx_example_solutions.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/00_payment_channel_bx_example_solutions.ipynb -------------------------------------------------------------------------------- /12_payment_channels/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/README.md -------------------------------------------------------------------------------- /12_payment_channels/images/payment_channel_funding.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/images/payment_channel_funding.jpg -------------------------------------------------------------------------------- /12_payment_channels/images/payment_channel_penalty.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/images/payment_channel_penalty.jpg -------------------------------------------------------------------------------- /12_payment_channels/images/payment_channel_update.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/12_payment_channels/images/payment_channel_update.jpg -------------------------------------------------------------------------------- /A_script_machine_tool/00_script_machine_testing_tool_(p2sh(p2w)).ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/A_script_machine_tool/00_script_machine_testing_tool_(p2sh(p2w)).ipynb -------------------------------------------------------------------------------- /A_script_machine_tool/00_script_machine_testing_tool_(used).ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/A_script_machine_tool/00_script_machine_testing_tool_(used).ipynb -------------------------------------------------------------------------------- /A_script_machine_tool/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/A_script_machine_tool/README.md -------------------------------------------------------------------------------- /A_script_machine_tool/images/script_evaluation_bip_16_141.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/A_script_machine_tool/images/script_evaluation_bip_16_141.jpg -------------------------------------------------------------------------------- /A_script_machine_tool/supporting_scripts/script_machine.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/A_script_machine_tool/supporting_scripts/script_machine.cpp -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/README.md -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/curve_cp_security.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/curve_cp_security.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/ec_math_operations.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/ec_math_operations.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/reply_stream_method.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/reply_stream_method.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/spv_header_validation.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/spv_header_validation.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/spv_merkle_proof.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/spv_merkle_proof.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/spv_watch_tx.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/spv_watch_tx.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/zmq_message.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/zmq_message.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/images/zmq_req_rep.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/images/zmq_req_rep.jpg -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/libbitcoin_ec_math_bx_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/libbitcoin_ec_math_bx_cpp.ipynb -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/libbitcoin_fetch_height_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/libbitcoin_fetch_height_cpp.ipynb -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/libbitcoin_spv_header_chain_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/libbitcoin_spv_header_chain_cpp.ipynb -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/libbitcoin_spv_merkle_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/libbitcoin_spv_merkle_cpp.ipynb -------------------------------------------------------------------------------- /B_bitcoinedge_tokyo/libbitcoin_spv_watch_address_cpp.ipynb: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/B_bitcoinedge_tokyo/libbitcoin_spv_watch_address_cpp.ipynb -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/LICENSE.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/README.md -------------------------------------------------------------------------------- /Vagrantfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/Vagrantfile -------------------------------------------------------------------------------- /bx_config_files/bx.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/bx_config_files/bx.cfg -------------------------------------------------------------------------------- /bx_config_files/bx_mainnet.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/bx_config_files/bx_mainnet.cfg -------------------------------------------------------------------------------- /bx_config_files/bx_testnet.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/bx_config_files/bx_testnet.cfg -------------------------------------------------------------------------------- /setup/AWS_linux2_setup.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/setup/AWS_linux2_setup.sh -------------------------------------------------------------------------------- /setup/bx_config_files/bx.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/setup/bx_config_files/bx.cfg -------------------------------------------------------------------------------- /setup/bx_config_files/bx_mainnet.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/setup/bx_config_files/bx_mainnet.cfg -------------------------------------------------------------------------------- /setup/bx_config_files/bx_testnet.cfg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/teachbitcoin/code-demos/HEAD/setup/bx_config_files/bx_testnet.cfg --------------------------------------------------------------------------------