-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Create a WalletController implementation for Bitcoin Core #21
Copy link
Copy link
Closed
Labels
brainstormingLong term ideas/discussion/requests for feedbackLong term ideas/discussion/requests for feedbackenhancementImprovements to existing features / behaviourImprovements to existing features / behaviourintermediateIssues suitable for developers moderately familiar with the codebase and LNIssues suitable for developers moderately familiar with the codebase and LNwalletThe wallet (lnwallet) which LND usesThe wallet (lnwallet) which LND uses
Metadata
Metadata
Assignees
Labels
brainstormingLong term ideas/discussion/requests for feedbackLong term ideas/discussion/requests for feedbackenhancementImprovements to existing features / behaviourImprovements to existing features / behaviourintermediateIssues suitable for developers moderately familiar with the codebase and LNIssues suitable for developers moderately familiar with the codebase and LNwalletThe wallet (lnwallet) which LND usesThe wallet (lnwallet) which LND uses
Type
Fields
Give feedbackNo fields configured for issues without a type.
Within the daemon there exists an base-wallet interface called the
WalletControllerwhich theLightningWalletuses in a composite manner to create a fully-fledged Lightning enabled wallet. The interface itself is rather minimal and should be able to accommodate easily dropping in an alternative wallet into the daemon.The current, and only (at the time of writing this issue) concrete implementation of the
WalletControllerisBtcWalletwhich is implemented by an embedded instance ofbtcwallet. Due to the current architecture ofbtcwalletan activebtcdinstance is required for the wallet to function correctly.Due to popularity, a
WalletControllerinterface implementation for Bitcoin Core's wallet should be added. The implementation of the interface should be possible entirely over Bitcion Core's RPC interface.btcrpcclientis capable of connecting to Bitcoin Core instances and should be sufficient in helping to implement the interface. A simple layer of persistent storage within theWalletControllerimplementation may be required in order to fully implement all the features of the interface.This issue is dependent on #17 as the PR implements the necessary refactoring within the daemon to allow dropping in multiple/alternative wallets.