Wallet recovery
Learn about various recovery methods.
Recovery
Using emergency.recover
emergency.recover- Copy the valid binary formatted
hsm_secretinto$LIGHTNINGDIRdirectory - Copy the latest
emergency.recoverbackup file into the$LIGHTNINGDIRbefore starting up the node - Start
lightningd - Run
lightning-cli emergencyrecover(RPC command)[https://docs.corelightning.org/reference/lightning-emergencyrecover] to recover all the channels on the node - Wait until your peer force closes the channel and the node would automatically sweep the funds. This could take some time
Using --recover flag
--recover flag- Copy the latest
emergency.recoverbackup file into the$LIGHTNINGDIRbefore starting up the node - Start
lightningd --recover=<codex32secret>. It will automatically generate your node's hsm_secret using the codex32 secret - The node will initiate in offline mode. As a result, it won't establish connections with peers automatically
- Restart
lightningd - Run
lightning-cli emergencyrecover(RPC command)[https://docs.corelightning.org/reference/lightning-emergencyrecover] to recover all the channels on the node
Only recover from database if you are sure that it is latest.
Snapshot-style backups of the lightningd database is discouraged, as any loss of state may result in permanent loss of funds.
See the penalty mechanism for more details.
Using database
If you already have latest wallet backup and hsm_secret, it is technically not recovery. It is similar to restarting your lightning node.
- Copy the DB backup
lightningd.sqlite3from your NFS backup directory into$LIGHTNINGDIRdirectory - Either copy the valid binary formatted
hsm_secretinto$LIGHTNINGDIRdirectory and startlightningd - Or start lightningd with recover flag (
lightningd --recover=<codex32secret>) - Note that
emergency.recoverbackup file is not required here but you can copy it into$LIGHTNINGDIRdirectory (if exists)
Updated about 2 hours ago