Skip to content

v0.2.0 — dice-seed wallet + beginner guidance

Choose a tag to compare

@rurogge rurogge released this 11 Aug 17:05
· 70 commits to main since this release

v0.2.0 — dice-seed wallet + beginner guidance

New: generate a wallet from physical dice (Coldcard-style)

  • Menu option 1 — roll two dice → bias-free entropy (rejection sampling) → BIP39 seed words → write on paper
  • 12 words = 52 rolls · 24 words = 104 rolls (roll math corrected: the checksum bits are computed, never rolled)
  • In-app self-check — derives your first receive address (BIP84 m/84'/0'/0'/0/0) and the master fingerprint before you ever touch Sparrow; both must match what Sparrow shows after import
  • Derived with python3-mnemonic + python3-ecdsa; verified byte-exact against the official BIP39/BIP84 test vectors

New: beginner guidance layer

  • Every menu entry has a plain-language description (→ what it does)
  • Menu option 7: First-time guide — what a seed / vault / address are, the 3 first-time steps, the safety rules
  • Every option script opens with What this does / What you need / What happens next
  • Contextual tip — "no seed backups in the vault yet" appears when the vault is mounted but empty
  • Menu fully reordered around the user lifecycle: create → secure → recover → use → off

Fixes

  • coldiron-shutdown now always powers off even if the vault device is busy (unmount/close failure no longer leaves the machine on)
  • coldiron-dice-seed --test robust against short/odd roll files (found by the E2E)

Testing (all green)

  • 19/19 host-side tests — BIP39/BIP84 vectors, roll rejection, menu failure-survival harness
  • 16/16 QEMU E2E steps — every menu option (1–7 + q) exercised on the real ISO: abort paths, vault unlock via keyboard, age-encrypted backup, byte-exact restore, Sparrow window, clean shutdown with the vault mounted

Assets

  • coldiron-os-0.2.0-amd64.iso (633 MB) + SHA256SUMS
  • CI independently rebuilds the tag (second-machine build)

⚠️ Prototype. Do not trust this ISO with a valuable seed yet — see the README's honest limitations (kernel-level networking is still compiled in; only driver-blacklisted).