Recovery Hiro/Ando

Today: 2022-12-25

Recovery steps for hiro and ando.

bitcoin v22.0
LND version v0.15.5
chantools v0.10.6

1) The ddrescue yielded channel.db files for both nodes ando and hiro. Starting the node with these channel.db files reveals the corruption [1].
2) chantools compactdb command failed
3) chantools summary command succeeded, yielding the correct description of 627 channels for ando and 134 channels for hiro with the latest local and remote balances.
4) chantools forceclose (without publish) succeeded, yielding the correct listing of 580 closed channels and 47 open channels for ando, 129 closed channels and 5 open channels for hiro.
5) chantools walletinfo was used to extract the BIP32 HD root key
6) chantools forceclose (with publish) with the BIP32 HD root key was used to generate and submit all remaining force close transactions
7) Waiting for the timeouts to move all the remaining balances off the nodes
8) Recovery succeeded 100%

Finishing putting together the infrastructure for the new node.

Footnotes:

[1]
panic: freepages: failed to get all reachable pages (page 0: invalid type: unknown<00>)

goroutine 322 [running]:
go.etcd.io/bbolt.(DB).freepages.func2() go.etcd.io/bbolt@v1.3.6/db.go:1056 +0x99 created by go.etcd.io/bbolt.(DB).freepages
go.etcd.io/bbolt@v1.3.6/db.go:1054 +0x1ea
Attempting automatic RPC configuration to bitcoind
Automatically obtained bitcoind’s RPC credentials
2022-12-21 19:15:25.746 [INF] LTND: Version: 0.15.5-beta commit=v0.15.5-beta, build=production, logging=default, debuglevel=info
2022-12-21 19:15:25.746 [INF] LTND: Active chain: Bitcoin (network=mainnet)
2022-12-21 19:15:25.753 [INF] RPCS: RPC server listening on 127.0.0.1:10010
2022-12-21 19:15:25.758 [INF] RPCS: gRPC proxy started at 127.0.0.1:8081
2022-12-21 19:15:25.758 [INF] LTND: Opening the main database, this might take a few minutes…
2022-12-21 19:15:25.758 [INF] LTND: Opening bbolt database, sync_freelist=false, auto_compact=false
panic: freepages: failed to get all reachable pages (page 0: invalid type: unknown<00>)