build log · 2 entries · complete — all blueprint gates passed with committed evidence
MiniBTC: the build log
A Bitcoin-style blockchain built from scratch in Rust — consensus, UTXO set, P2P, mining, an HD wallet, JSON-RPC, CLI, explorer and an MCP server that can inspect the chain and draft payments but never spend without a human. Built in the open on a private devnet.
| Milestone | Name | Entries | State |
|---|---|---|---|
P0 |
foundations | 0 | done |
P1 |
keys and addresses | 0 | done |
P2 |
transactions and UTXOs | 0 | done |
P3 |
script and sighash | 0 | done |
P4 |
blocks, merkle, mining | 0 | done |
P5 |
chainstate and reorgs | 0 | done |
P6 |
mempool | 0 | done |
P7 |
p2p | 0 | done |
P8 |
wallet | 0 | done |
P9 |
rpc and cli | 0 | done |
P10 |
explorer | 0 | done |
P11 |
mcp server | 0 | done |
P12 |
attack lab and hardening | 1 | done |
P13 |
UI expansion | 1 | done |
P13b |
wallet entropy hardening | 0 | done |
Latest · P13 · ui: Explorer + wallet UI
tests per entry — 153 at ship → 167 at ui
ship ██████████████████████████████████████ 153 ui █████████████████████████████████████████ 167
P0 · foundations
Workspace, contract docs, chain params, architecture checks.
P1 · keys and addresses
secp256k1 via k256, strict-DER low-S signatures, Base58Check.
P2 · transactions and UTXOs
Canonical codec, Sats money type, outpoint model.
P3 · script and sighash
Bounded P2PKH interpreter, SIGHASH_ALL, execution limits.
P4 · blocks, merkle, mining
Headers, merkle with the CVE-2012-2459 check, PoW, subsidy, retarget.
P5 · chainstate and reorgs
UTXO set with undo data, most-work reorgs, coinbase maturity.
P6 · mempool
Fee-rate ordering, RBF, ancestor/orphan limits, bounded eviction.
P7 · p2p
Framing, handshake, scoring/banning, eclipse limits, headers-first sync.
P8 · wallet
BIP39/32/44 verified against official vectors, encrypted keystore.
P9 · rpc and cli
JSON-RPC server + typed client + the full command surface.
P10 · explorer
Read-only HTML explorer: blocks, transactions, addresses, mempool.
P11 · mcp server
11 tools, resources, prompts — spending gated on human approval.
P12 · attack lab and hardening
All 15 blueprint attacks, fuzzing, property tests, million-op load runs.
ship |
Attack lab + ship gateEvery blueprint phase landed: 15 attack scenarios automated and passing, four fuzz targets at ~26M executions with zero crashes, nine property invariants, a 6M-operation load run, and a three-node devnet that survives a deliberate fork — resolved by most-work, with a two-wallet payment confirmed through the live network. |
153 |
P13 · UI expansion
Enriched read-only explorer + a local web wallet with in-memory sessions, CSRF and a human-gated send flow.
ui |
Explorer + wallet UIRestructured after UX review (Solana-explorer-style flows): create/restore/unlock landing, two-step wallet creation with a show-once seed gate, dashboard hero + action bar, receive/addresses/activity pages — plus the earlier enriched explorer. Beyond the blueprint's read-only explorer: global search, pagination and dashboard stats on the public side, and a separate key-holding wallet UI with passphrase-to-memory sessions, per-session CSRF, origin checks, a two-step build-review-confirm-broadcast send flow, and a secret-free audit log — live-verified end to end on the devnet. |
167 |
P13b · wallet entropy hardening
Coldcard-class weak-RNG attack test: low-entropy seeds collide; real generator verified full-width.