/Learning-Bitcoin-from-the-Command-Line

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.

Primary LanguageShell

Programming with Bitcoin Core and Lightning

(Or: Programming Bitcoind and Lightningd)

This is a tutorial for working with Bitcoin (and Lightning) that teaches direct interaction with the servers themselves, as the most robust and secure way to begin cryptocurrency work.

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 are Copyright ©2018 by Christopher Allen @ChristopherA <ChristopherA@LifeWithAlacrity.com> and are licensed CC-BY.

Credits

Role Names
Lead Authors: Christopher Allen @ChristopherA, Shannon Appelcline @ShannonA
Contributors:
Reviewers: Glen Willem @gwillem
Sponsors: Blockstream Corporation

Introduction

The best way 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

PART THREE: BITCOIN SCRIPTING

PART FOUR: LIGHTNING-CLI

This section is unwritten currently, and will probably involve chapter 14.0 expanding into at least two chapters.

  • 12.0: Setting Up TOR
  • 13.0: Setting Up Lightning
  • 14.0: Using Lightning

PART FIVE: BITCOIN & LIGHTNING PROGRAMMING

This section is currently a messy set of older writings which are being reorganized as listed below. We're not going to work through this section until we've got chapters 1-11 updated per our current notes, then 12-14 written. But, if you'd like to see what we have to date on programming in correlation with Bitcoin Core, please feel free.

APPENDICES

Appendix I: Compiling Bitcoin

Appendix II: Using Bitcoin Regtest