docs: resume notes for LND wallet fix (in-progress, branch lnd-wallet-password-fix)
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
91adc281ca
commit
459046b21c
@ -4,6 +4,55 @@ Last updated: 2026-06-14 (session on node .116 / archi-thinkpad)
|
||||
|
||||
---
|
||||
|
||||
# ▶ IN PROGRESS — LND wallet auto-unlock fix (2026-06-14)
|
||||
|
||||
## RESUME PROMPT (paste into a fresh session, on .116 / archi-thinkpad, tree at /home/archipelago/Projects/archy)
|
||||
|
||||
> Resume the LND wallet-password fix. Read memory `project_lnd_wallet_password.md` FIRST (full
|
||||
> root-cause + design + validated facts). Work is on branch `lnd-wallet-password-fix` (pushed to
|
||||
> gitea-vps2, commit 91adc281, NOT merged to main, NOT shipped). Bug: hardcoded
|
||||
> `WALLET_PASSWORD="hellohello"` left LND wallets LOCKED fleet-wide after OTA → Bitcoin-receive
|
||||
> shows "wallet is locked" on every updated node. DONE + cargo-checked: per-node random secret
|
||||
> (secrets/lnd-wallet-password), both init paths unified, candidate-unlock with fail-fast,
|
||||
> login-time candidate-migration (ChangePassword). DETECTION GATE already shipped on main
|
||||
> (commit 8c8e4d7a). DECISION: alpha, NO funds on nodes → destructive wipe+recreate is OK and
|
||||
> wanted UNATTENDED for ALL nodes in the next update. A wallet locked with an unknown password is
|
||||
> already inaccessible, so wiping loses nothing reachable.
|
||||
|
||||
## EXACT NEXT STEPS — LND fix (in order)
|
||||
1. **Finish seed/fresh recovery** (REMAINING piece): in `container/lnd.rs ensure_wallet_initialized`,
|
||||
when wallet.db exists but ALL unlock candidates fail → wipe wallet.db (+ macaroons + graph/chain
|
||||
mainnet state, as root via host_sudo) and re-init fresh (random genseed + per-node secret) so the
|
||||
node self-heals unattended at boot. (Login-time candidate-migration already handles nodes whose
|
||||
pw matches.) Validate the wipe→reinit mechanic on the scratch LND first (see below).
|
||||
2. **Scratch validation** (was in progress, .249 unreachable from .116's subnet → use a throwaway
|
||||
`lnd-scratch` podman container on .116, regtest/neutrino, REST :18099 — already proven for
|
||||
init/unlock/ChangePassword). Test: init(passA) → restart→LOCKED → delete wallet.db while locked →
|
||||
confirm /v1/state→NON_EXISTING (may need container restart) → genseed+initwallet fresh → unlock.
|
||||
NOTE: scratch wallet.db lives at the container's LND data dir (regtest), `podman exec lnd-scratch
|
||||
find / -name wallet.db`. CLEAN UP: `podman rm -f lnd-scratch` when done.
|
||||
3. `cargo check -p archipelago` (on .116 ~15-30s incremental; full test compile ~9min).
|
||||
4. **End-to-end on .228** (reachable 192.168.1.x, SSH pw `archipelago`, UI pw unknown, NO funds —
|
||||
has a locked unknown-pw wallet = perfect auto-recreate test): build binary
|
||||
(`ARCHIPELAGO_TARGET=archipelago@192.168.1.228 scripts/deploy-to-target.sh` or per
|
||||
reference_deploy_to_nodes), deploy, restart, confirm wallet auto-recreates+unlocks, lncli state
|
||||
RPC_ACTIVE, lnd.newaddress returns an address. Run os-audit against .228 → lnd check PASS.
|
||||
5. Merge `lnd-wallet-password-fix` → main, then **cut + publish v1.7.93-alpha** (carries the LND
|
||||
fix). Ship ritual: create-release.sh 1.7.93-alpha → add CHANGELOG (≥3 layman bullets) → run
|
||||
sync-whats-new.py (the new What's-New gate will require it) → publish-release-assets.sh gitea-vps2
|
||||
→ push origin/gitea-vps2 + tags → verify live manifest==1.7.93-alpha. Heads-up: create-release
|
||||
leaves core/Cargo.lock version-bump uncommitted (commit it as a chore, both .91 and .92 hit this).
|
||||
|
||||
## Context: how we got here (this session, all on node .116)
|
||||
- Shipped **v1.7.91-alpha** (bitcoinReceive TS2538 build fix) and **v1.7.92-alpha** (ElectrumX
|
||||
overlay-during-sync fix; L3 reboot os-audit gate; What's-New sync gate + 8-version backfill) —
|
||||
both LIVE on vps2. Restored .116-local nginx `/lnd-connect-info` route (was dropped 2026-06-10).
|
||||
- Triaged user symptoms: ElectrumX "can't connect" = electrs syncing / Bitcoin verifying (not a
|
||||
regression); .228 "5/14 apps after reboot" = normal ~5min staggered startup (all 14 came up).
|
||||
- LND lock bug found + detection gate shipped + forward fix & migration implemented (this section).
|
||||
|
||||
---
|
||||
|
||||
# ✔ DONE PASS — v1.7.91-alpha + v1.7.92-alpha (2026-06-14)
|
||||
|
||||
## Outcome (both releases PUBLISHED + LIVE on vps2)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user