lightningdevkit.org
lightningdevkit.org copied to clipboard
Improvements for Key Management Guide
- Highlight the fact we expect users to implement their own
KeysInterfacebut useInMemorySignerfor channel-specific parts. - Some recommendations for transferring state to a separate node/wallet implementation given, spending logic requires a lot of custom logic
- LDK will always require the user to provide the initial randomness from which things like this can be derived for the default KeysManager
- What gets persisted so that channel keys can be recovered on restart?
- What is needed to rederive keys
-
channel_keys_idfor theSigner? -
seedforKeysManager
-
Update from Slack convo"
Jeff says: "That seed is used to create a master key, from which we derive other keys. Check out KeysManager::new to see how this is done. So if BDK already has an HD wallet with its own seed, you'd want to have a separate derivation path for LDK use (at least where Matt pointed out) rather than reusing the seed from BDK. But LDK uses the seed for other things, you'll notice."