diff --git a/06_0_Expanding_Bitcoin_Transactions.md b/06_0_Expanding_Bitcoin_Transactions_Multisigs.md similarity index 100% rename from 06_0_Expanding_Bitcoin_Transactions.md rename to 06_0_Expanding_Bitcoin_Transactions_Multisigs.md diff --git a/07_0_Expanding_Bitcoin_Transactions_PSBTs.md b/07_0_Expanding_Bitcoin_Transactions_PSBTs.md new file mode 100644 index 0000000..59fc82c --- /dev/null +++ b/07_0_Expanding_Bitcoin_Transactions_PSBTs.md @@ -0,0 +1,27 @@ +# Chapter Six: Expanding Bitcoin Transactions + +Basic bitcoin transactions: (1) send funds; (2) to a single P2PKH or SegWit recipient; (3) immediately. However, all three parts of this definition can be expanded using more complex Bitcoin transactions, which can alternatively send data, which can send to a group of recipients, or which can send at a later time. These three options represent further empowerment of Bitcoin and also the furthest boundaries of what you can do with the basic `bitcoin-cli` command. + +## Objectives for This Section + +After working through this chapter, a developer will be able to: + + * Create Multisignature Bitcoin Addresses + * Create Transactions with Locktimes + * Create Transactions with Data + +Supporting objectives include the ability to: + + * Understand How to Spend Funds Sent to a Multisignature + * Plan for the Power of Multisignatures + * Understand the Different Sorts of Timelocks + * Plan for the Power of Locktime + * Plan for the Power of OP_RETURN + +## Table of Contents + + * [Section One: Sending a Transaction with a Multsig](06_1_Sending_a_Transaction_to_a_Multisig.md) + * [Section Two: Spending a Transaction with a Multsig](06_2_Spending_a_Transaction_to_a_Multisig.md) + * [Section Three: Sending & Spending an Automated Multisig](06_3_Sending_an_Automated_Multisig.md) + * [Section Four: Sending a Transaction with a Locktime](06_4_Sending_a_Transaction_with_a_Locktime.md) + * [Section Five: Sending a Transaction with Data](06_5_Sending_a_Transaction_with_Data.md) diff --git a/06_6_Creating_a_Partially_Signed_Bitcoin_Transaction.md b/07_1_Creating_a_Partially_Signed_Bitcoin_Transaction.md similarity index 100% rename from 06_6_Creating_a_Partially_Signed_Bitcoin_Transaction.md rename to 07_1_Creating_a_Partially_Signed_Bitcoin_Transaction.md diff --git a/06_7_Using_a_Partially_Signed_Bitcoin_Transaction.md b/07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md similarity index 100% rename from 06_7_Using_a_Partially_Signed_Bitcoin_Transaction.md rename to 07_2_Using_a_Partially_Signed_Bitcoin_Transaction.md diff --git a/07_3_Integrating_with_Hardware_Wallets.md b/07_3_Integrating_with_Hardware_Wallets.md new file mode 100644 index 0000000..c062038 --- /dev/null +++ b/07_3_Integrating_with_Hardware_Wallets.md @@ -0,0 +1,21 @@ +# 6.7: Using a Partially Signed Bitcoin Transaction + +> :information_source: **NOTE:** This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for learning. + +[intro] + +> :warning: **VERSION WARNING:** This is an innovation from Bitcoin Core v 0.17.0. Earlier versions of Bitcoin Core will not be able to work with the PSBT while it is in process (though they will still be able to recognize the final transaction). + +## Use a PSBT to MultiSig + +## Use a PSBT to Pool Money + +## Use a PSBT to CoinJoin + +## Summary: Using a Partially Signed Bitcoin Transaction + +> :fire: ***What's the power of a PSBT?*** + +## What's Next? + +Move on to "Bitcoin Scripting" with [Chapter Seven: Introducing Bitcoin Scripts](07_0_Introducing_Bitcoin_Scripts.md). diff --git a/08_0_Expanding_Bitcoin_Transactions_Other.md b/08_0_Expanding_Bitcoin_Transactions_Other.md new file mode 100644 index 0000000..59fc82c --- /dev/null +++ b/08_0_Expanding_Bitcoin_Transactions_Other.md @@ -0,0 +1,27 @@ +# Chapter Six: Expanding Bitcoin Transactions + +Basic bitcoin transactions: (1) send funds; (2) to a single P2PKH or SegWit recipient; (3) immediately. However, all three parts of this definition can be expanded using more complex Bitcoin transactions, which can alternatively send data, which can send to a group of recipients, or which can send at a later time. These three options represent further empowerment of Bitcoin and also the furthest boundaries of what you can do with the basic `bitcoin-cli` command. + +## Objectives for This Section + +After working through this chapter, a developer will be able to: + + * Create Multisignature Bitcoin Addresses + * Create Transactions with Locktimes + * Create Transactions with Data + +Supporting objectives include the ability to: + + * Understand How to Spend Funds Sent to a Multisignature + * Plan for the Power of Multisignatures + * Understand the Different Sorts of Timelocks + * Plan for the Power of Locktime + * Plan for the Power of OP_RETURN + +## Table of Contents + + * [Section One: Sending a Transaction with a Multsig](06_1_Sending_a_Transaction_to_a_Multisig.md) + * [Section Two: Spending a Transaction with a Multsig](06_2_Spending_a_Transaction_to_a_Multisig.md) + * [Section Three: Sending & Spending an Automated Multisig](06_3_Sending_an_Automated_Multisig.md) + * [Section Four: Sending a Transaction with a Locktime](06_4_Sending_a_Transaction_with_a_Locktime.md) + * [Section Five: Sending a Transaction with Data](06_5_Sending_a_Transaction_with_Data.md) diff --git a/06_4_Sending_a_Transaction_with_a_Locktime.md b/08_1_Sending_a_Transaction_with_a_Locktime.md similarity index 100% rename from 06_4_Sending_a_Transaction_with_a_Locktime.md rename to 08_1_Sending_a_Transaction_with_a_Locktime.md diff --git a/06_5_Sending_a_Transaction_with_Data.md b/08_2_Sending_a_Transaction_with_Data.md similarity index 100% rename from 06_5_Sending_a_Transaction_with_Data.md rename to 08_2_Sending_a_Transaction_with_Data.md