Learn bitcoin by using bitcoin.
Build a wallet from scratch, in a notebook, and understand every line.
LiveWallet is a set of Livebook notebooks for BSV. You write real Elixir, handle real keys, and move real bitcoin. It is the hands-on companion to Bitcoin: An Introduction, which covers the why.
Run LiveWallet on your own machine or on a server you trust. The notebooks handle private keys that control bitcoin. LiveWallet is experimental software for education. Use at your own risk, and keep amounts under 1 USD.
- Install Livebook. The desktop app is a normal download for Mac, Windows and Linux, from livebook.dev/#install.
- Click the badge above, or open start-here.livemd from a clone of this repo. It has a map of every notebook and which ones to do first. The table of contents lists them all in one place.
- Everything starts on testnet, where coins have no value.
When you want real bitcoin, add a Livebook secret named
LB_NETWORKwith the valuemain. Every notebook shows a banner saying which network you are on. - Run a notebook top to bottom.
Each ends with a Review cell that prints
PASSwhen you did what the notebook set out to do.
There is no numbered order. Each notebook says at the top what to do before it, and the map shows those as arrows.
| Directory | What is in it |
|---|---|
wallet/ |
Seed phrases, keys, addresses, derivation paths, the key hierarchy |
transactions/ |
Receive, verify, send, and time-locked transactions |
tokens/ |
Inscriptions, on-chain posts, and recovering assets from old keys (in progress) |
governance/ |
Multisig ceremonies and a function-shaped wallet |
tools/ |
Utility notebooks that are not lessons |
docs/ |
Specs and reference material; docs/CONCEPTS.md is the vocabulary |
PLAN.md is the backlog.
check.exs checks the repo's links, fences and map; run it with elixir check.exs.
- Bitcoin: An Introduction, the companion book
- Bitcoin whitepaper
- bsv-ex, the Elixir library used for keys, scripts and transactions
