Understanding the Technical Side of Bitcoin

Computer Literacy

Read an overview of different computer hardware components, the physical objects you will be accessing: https://www.explainingcomputers.com/hardware.html

Command Line

As a user you could stop here, but if you want to get technical you’ll have to get comfortable with the command line, a text-only interface where your mouse is (usually) useless! The command line interface (CLI) is the opposite of what you’re probably used to interacting with, the graphical user interface (GUI). I know just enough about the CLI to get by, but there are folks out there who are CLI wizards. Windows has a very different CLI from Linux and macOS, so I would recommend installing the Windows Subsystem for Linux (WSL). It will allow you to learn the command line in a way that is generally portable to macOS and Linux.

Git

git is a distributed version control system that is widely used in software development. I think git is important to learn because it is used by all of the Bitcoin and Lightning projects I have encountered (correct me if I’m wrong!), and technical documentation often uses git and it would be great if you contribute typos, corrections, improvements, and additions “upstream” as you work through the docs. GitHub.com is a web service that is built on top of git with a GUI, but git is generally interacted with locally (on your computer/laptop) using the CLI. Here are resources and tutorials for getting started with git: https://try.github.io/

Command Line + Bitcoin + Lightning

Give Mastering Bitcoin a close read: https://www.amazon.com/Mastering-Bitcoin-Unlocking-Digital-Cryptocurrencies/dp/1449374042 or https://github.com/bitcoinbook/bitcoinbook

Programming

I think that if you try to learn programming topics that are directly related to the most popular Bitcoin implementation (“Bitcoin Core”, also called “bitcoind”) then you’ll probably overwhelmed. To my knowledge there are no smooth learning curves for learning C++. I think its easier to learn a language like Python first, as it hides a lot of complexity and allows you to focus on mastering the basics of programming logic first. Coincidentally, the Bitcoin Core test suite is written in Python.

Programming + Bitcoin

Work through Learn Blockchains by Building One by Daniel van Flymen: https://hackernoon.com/learn-blockchains-by-building-one-117428612f46

Programming + Bitcoin Bootcamps

Each bootcamp has a different focus, visit their websites for topics, dates, and pricing:

Programming + Lightning

There are several full implementations to look at, in alphabetical order:

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store