-
Notifications
You must be signed in to change notification settings - Fork 37.7k
UI external signer support (e.g. hardware wallet) #16549
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
This PR has 146 commits,... is this intentional? |
@jonasschnelli see the list in #16546 for all the all the experimental stuff this PR is based on. The actual change is only a few commits (Github messes up the ordering), compared to RPC-only functionality. |
53da3d5
to
d35dd12
Compare
Cleaned it up a bit and tweaked the timestamps so it's more clear that only the most recent 4 commits are relevant. 139 commits may seem a bit intimidating, but it's really just a matter of reviewing:
|
d35dd12
to
620d0a6
Compare
69f713d
to
5ff9654
Compare
Moving to the new GUI repo: bitcoin-core/gui#4 |
Big picture overview in this gist.
This PR adds GUI support for external signers. It consists of 7 commits on top of #16546 (RPC).
The UX isn't amazing - especially the blocking calls - but it works.
First we adds a GUI setting for the signer script (e.g. path to HWI):
Then we add an external signer checkbox to the wallet creation dialog:
It's checked by default if HWI detects a device. It also grabs the name. It then creates a fresh wallet and imports the keys.
You can verify an address on the device (blocking...):

Sending, including coin selection, Just Works(tm) as long the device is present. It's a bit weird though: the device will prompt for signing first and the QT confirmation dialog appears after.
External signer support is enabled by default when the GUI is configured and Boost::Process is present.