Skip to content

Create a WalletController implementation for Bitcoin Core #21

@Roasbeef

Description

@Roasbeef

Within the daemon there exists an base-wallet interface called the WalletController which the LightningWallet uses 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 WalletController is BtcWallet which is implemented by an embedded instance of btcwallet. Due to the current architecture of btcwallet an active btcd instance is required for the wallet to function correctly.

Due to popularity, a WalletController interface implementation for Bitcoin Core's wallet should be added. The implementation of the interface should be possible entirely over Bitcion Core's RPC interface. btcrpcclient is capable of connecting to Bitcoin Core instances and should be sufficient in helping to implement the interface. A simple layer of persistent storage within the WalletController implementation 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    brainstormingLong term ideas/discussion/requests for feedbackenhancementImprovements to existing features / behaviourintermediateIssues suitable for developers moderately familiar with the codebase and LNwalletThe wallet (lnwallet) which LND uses

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions