mirror of
https://github.com/ChristopherA/Learning-Bitcoin-from-the-Command-Line.git
synced 2025-06-08 08:26:17 +00:00
71 lines
3.8 KiB
Markdown
71 lines
3.8 KiB
Markdown
# Learning Bitcoin from the Command-Line #
|
||
|
||
> NOTE: This is a draft in progress, so that I can get some feedback from early reviewers. It is not yet ready for use.
|
||
|
||
# Copyright
|
||
|
||
Unless otherwise noted, the contents of this repository areCopyright ©2017 by Christopher Allen \<ChristopherA@LifeWithAlacrity.com\> and are licensed [CC-BY](./LICENSE-CC-BY-4.0.md).
|
||
|
||
## Introduction
|
||
|
||
The best way to learn to learn deeply about bitcoin is to avoid GUIs (even bitcoin-qt), and instead learn it from the command line.
|
||
|
||
## Requirements
|
||
|
||
This tutorial assumes that you have some minimal background of how to use the command line interface. If not, there are many tutorials available, and I have one for Mac users at https://github.com/ChristopherA/intro-mac-command-line
|
||
|
||
## Files
|
||
|
||
* 1.0: Bitcoin-Core Basics — _Pending_
|
||
* [2.0: Setting Up a Bitcoin-Core VPS](2_0_Setting_Up_a_Bitcoin-Core_VPS.md)
|
||
* [2.1: Setting Up a Bitcoin-Core VPS by Hand](2_1_Setting_Up_a_Bitcoin-Core_VPS_by_Hand.md)
|
||
* [2.2: Setting Up a Bitcoin-Core VPS with StackScript.md](2_2_Setting_Up_a_Bitcoin-Core_VPS_with_StackScript.md)
|
||
* [Linode_Bitcoin-Core_VPS_Setup.stackscript](2_2__Script_Linode_Setup.stackscript)
|
||
* [3.0: Understanding Your Bitcoin Setup](3_0_Understanding_Your_Bitcoin_Setup.md)
|
||
* [3.1: Verifying Your Bitcoin Setup](3_1_Verifying_Your_Bitcoin_Setup.md)
|
||
* [3.2: Knowing Your Bitcoin Setup](3_2_Knowing_Your_Bitcoin_Setup.md)
|
||
* [3.3: Setting Up Your Wallet](3_3_Setting_Up_Your_Wallet.md)
|
||
* [Interlude: Using Command-Line Variables](3_3__Interlude_Using_Command-Line_Variables.md)
|
||
* [3.4: Receiving a Transaction](3_4_Receiving_a_Transaction.md)
|
||
* [4.0: Creating Basic Bitcoin Transactions](4_0_Creating_Basic_Bitcoin_Transactions.md)
|
||
* [4.1: Sending Coins the Easy Way](4_1_Sending_Coins_The_Easy_Way.md)
|
||
* [4.2: Creating a Raw Transaction](4_2_Creating_a_Raw_Transaction.md)
|
||
* [Interlude: Using JQ](4_2__Interlude_Using_JQ.md)
|
||
* [4.3: Creating a Raw Transaction with Named Arguments](4_3_Creating_a_Raw_Transaction_with_Named_Arguments.md)
|
||
* [4.4: Sending Coins with Raw Transactions](4_4_Sending_Coins_with_a_Raw_Transaction.md)
|
||
* [4.5: Sending Coins with Automated Raw Transactions](4_5_Sending_Coins_with_Automated_Raw_Transactions.md)
|
||
* [5.0: Controlling Bitcoin Transactions](5_0_Empowering_Bitcoin_Transactions.md) — Needs Reorganization
|
||
* [5.1 Watching for Stuck Transactions](5_1_Watching_for_Stuck_Transactions.md) — Needs Reorganization
|
||
* [5.2: Resending a Transaction with RBF](5_2_Resending_a_Transaction_with_RBF.md) — Needs Reorganization
|
||
* [5.3: Funding a Transaction with CPFP](5_3_Funding_a_Transaction_with_CPFP.md) — Needs Reorganization
|
||
* [6.0: Expanding Bitcoin Transactions](6_0_Empowering_Bitcoin_Transactions.md) — Pending
|
||
* [6.1: Sending a Raw Transaction with a Multsig](6_1_Sending_a_Raw_Transaction_with_a_Multisig.md) — Pending
|
||
* [6.2: Sending a Raw Transaction with a Locktime](5_5_Sending_a_Raw_Transaction_with_a_Locktime.md) — Needs Reorganization
|
||
* [6.3: Sending a Raw Transaction with Data](5_4_Sending_a_Raw_Transaction_with_Data.md) — Needs Reorganization
|
||
|
||
## Planned Future Work
|
||
|
||
* 7.0: Introducing Bitcoin Scripting
|
||
* 6.1: Understanding the Foundation of Bitcoin
|
||
* 6.2: Scripting a Pay to Public Key Hash
|
||
* 6.3: Executing a Script
|
||
* 8.0: Empowering Multisigs with Scripts
|
||
* 8.1: Scripting with a Multisig
|
||
* 8.2: Scripting with a Multisig Script
|
||
* 8.3: Creating Multisig Scripts
|
||
* 9.0: Empowering Timelocks with Scripts
|
||
* 9.1: Understanding Timelock Options
|
||
* 9.2: Using CLTV in Scripts
|
||
* 9.3: Using CSV in Scripts
|
||
* 10.0: Creating Original Bitcoin Scripts
|
||
* 10.X: Scripting a Pay to Script Hash
|
||
* 10.X: Scripting Conditionals
|
||
* 11.0: Introducing SegWit
|
||
* 11.X Scripting a Pay to Witness
|
||
|
||
* X.0: Introducing Elements
|
||
* X.0: Individual Elements
|
||
|
||
* Appendix: Compiling Bitcoin
|
||
|