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.
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
PART ONE: PREPARING FOR BITCOIN
PART TWO: BITCOIN-CLI
- 3.0: Understanding Your Bitcoin Setup
- 4.0: Creating Basic Bitcoin Transactions
- 5.0: Controlling Bitcoin Transactions
- 6.0: Expanding Bitcoin Transactions
PART THREE: BITCOIN SCRIPTING
- 7.0: Introducing Bitcoin Scripting — Needs Edit
- 7.1: Understanding the Foundation of Transactions — In Process
- 7.2: Scripting a Pay to Public Key Hash — Pending
- 7.3: Testing a Bitcoin Script — Pending
- 7.4: Executing a Script — Pending
Planned Future Work
- 8.0: Reviewing 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: Writing Bitcoin RPC
- 11.1: Accessing RPC with Curl
- 11.2: Accessing RPC with C
- 11.3: Watching Bitcoin Addresses in C
This is probably all a future section on Elements.
-
11.0: Introducing SegWit
- 11.X Scripting a Pay to Witness
-
X.0: Introducing Elements
-
X.0: Individual Elements
-
Appendix: Compiling Bitcoin