Skip to content

Conversation

@knst
Copy link
Owner

@knst knst commented Oct 22, 2025

It tested to work with Ledger Nano S if Dash Core is built from dashpay/dash#6019

Steps to test:

  1. Get built dash-qt from this PR: feat(wallet): external signer (hardware signer) dashpay/dash#6019 or backport: bitcoin#24254, #24397, #24521, #24523, #25235, #25696, #25723, #26196, #27449, #28002, #28967, #28981, #29489 (external signer, boost) dashpay/dash#6913
  2. Clone hwi repo from this PR: feat: adopt Bitcoin HWI to work with Dash Core #1
  3. Enter your pin & open dash app on device, dash app should be installed in advance. I tested so far with Ledger Nano S Plus.
  4. Call script ./hwi.py enumerate to be sure that your device is shown in the list. Probably you need to setup udev rules and some extra python libraries; hidapi has been required to install for ledger on my workstation.
  5. start Dash Qt: src/qt/dash-qt -signer=FULL_PATH_TO_dash-hwi/hwi.py
  6. create new wallet; click checkbox "external signer"

PastaPastaPasta added a commit to dashpay/dash that referenced this pull request Nov 25, 2025
013953b Merge bitcoin#24065: build: explicitly disable support for external signing on Windows (fanquake)
d1ce974 fix: missing changes from bitcoin#22320 for external signer (Konstantin Akimov)
2718bbd Merge bitcoin-core/gui#441: Add Create Unsigned button to SendConfirmationDialog (Hennadii Stepanov)
f6410f3 fix: dashify doc/external-signer.md (Konstantin Akimov)
6c4ba34 Merge bitcoin#25770: build: Fix help string for `--enable-external-signer` configure option (fanquake)
8fae189 Merge bitcoin#25019: parse external signer master fp as bytes in ExternalSigner::SignTransaction (Andrew Chow)
e852bdf Merge bitcoin#24401: wallet: Add external-signer-support specific error message (Andrew Chow)
a6f7e73 Merge bitcoin#24307: RPC: Return external_signer in getwalletinfo (Andrew Chow)
65bb461 Merge bitcoin#23628: Check descriptors returned by external signers (fanquake)
8c559be Merge bitcoin#23004: multiprocess: add interfaces::ExternalSigner class (W. J. van der Laan)
6a73d31 Merge bitcoin#22789: external_signer: improve fingerprint matching logic (stop on first match) (W. J. van der Laan)
8e5f624 Merge bitcoin-core/gui#396: Ensure external signer option remains disabled without signers (Hennadii Stepanov)
6d07721 Merge bitcoin#22348: build: Fix cross build for Windows with Boost Process (fanquake)
1b9b7c7 Merge bitcoin#21935: Enable external signer support by default, reduce #ifdef (fanquake)
9c30a2e Merge bitcoin#22173: wallet: Do not load external signers wallets when unsupported (Samuel Dobson)
38911c7 Merge bitcoin-core/gui#4: UI external signer support (e.g. hardware wallet) (Samuel Dobson)
2ebf7ca Merge bitcoin#21666: Miscellaneous external signer changes (fanquake)
7dbb4c1 Merge bitcoin#21467: Move external signer out of wallet module (fanquake)
6373ba7 Merge bitcoin#21417: Misc external signer improvement and HWI 2 support (fanquake)
fac568a Merge bitcoin#21292: build, doc: Fix configure script output indentation and typos (MarcoFalke)
3a3dfa3 Merge bitcoin#21285: wallet: fix doc typo in signer option (fanquake)
a33222d fix: alignment in configure.ac for debug output of options choice (Konstantin Akimov)
d49f0eb Merge bitcoin#16546: External signer support - Wallet Box edition (Wladimir J. van der Laan)
4bb4981 fix: remove nodiscard attribute as follow-up for bitcoin#18115 (Konstantin Akimov)
52f7cad fix: missing dashification of rpc/backup.cpp (Konstantin Akimov)

Pull request description:

  ## Issue being fixed or feature implemented
  This PR introduce support of external signers (for example, hardware signers such as Ledger) which could be used to sign transactions, using existing feature PSBT.

  ## What was done?
  Bitcoin backports from Bitcoin Core v22, v23, v24 to support hardware wallets in Dash Core.

  This PR is not the smallest possible set of backports, but it is set that provide working external signer in both CLI and GUI versions of Dash Core. Extra backports to improve user experience are to be done in the next PRs, see #6913

  ## How Has This Been Tested?
  Got successfully signed transaction using a repo https://github.com/knst/hwi/ (WIP, see also knst/HWI#1)

  ## Breaking Changes
  It introduces multiple new RPC, doesn't seems as any really breaking change

  ## Checklist:
  - [x] I have performed a self-review of my own code
  - [ ] I have commented my code, particularly in hard-to-understand areas
  - [ ] I have added or updated relevant unit/integration/functional/e2e tests
  - [x] I have made corresponding changes to the documentation
  - [x] I have assigned this pull request to a milestone _(for repository code-owners and collaborators only)_

ACKs for top commit:
  UdjinM6:
    utACK 013953b

Tree-SHA512: ec2158526d00130beef1d99c0030f5e3df4a4c62f439eb16bf31297c1ab5888af2e76ecaa2d7edfe31ba668a5ce550184e244e55ce1db85c3218fd9f53c6d118
@knst
Copy link
Owner Author

knst commented Dec 10, 2025

closed as duplicate of dashpay#1

@knst knst closed this Dec 10, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants