This project turns protocol lessons into a working tool: a command-line wallet on regtest that can receive and send bitcoin.
Complete Step 1 // Required reading in the study plan above (project spec + wallets chapter), then continue here. This opens Projects.
Step 2 — Goal
Ship a CLI that can:
- Create or load a wallet (seed/descriptor)
- Show a receive address and balance
- Send to an address with an explicit fee rate
- Mine/confirm via Bitcoin Core RPC in tests
Loading diagram…
Done when: You can describe the happy path in four bullets without opening the code.
Step 3 — Milestones
| Phase | Ship |
|---|---|
| Milestone A | Address generation + sync/balance on regtest |
| Milestone B | Coin selection, change, broadcast, fee unit tests |
| Milestone C | Acceptance test: mine → send half → assert balances after one block |
Done when: Milestone A works end-to-end before you start fee edge cases.
Step 4 — Build & evidence (lab)
Implement against /projects/mini-wallet. Capture repo link, happy-path proof, and one failure case you tested.
Common mistakes
- Hard-coding mainnet network objects in tests
- Forgetting change and overpaying the fee
- Demo without a reproducible test command
Done when: Lab evidence is filed (and optionally submitted for review).
Next lesson
Block Explorer UI — visualize blocks, txs, and mempool for your private chain.