Merge bitcoin/bitcoin#28373: doc: Add example of mixing private and public keys in descriptors

24b67fa9f602cdeac0e9736256f77d048f616c48 doc: Add example of mixing private and public keys in descriptors (Anton A)

Pull request description:

  closes: #27414

ACKs for top commit:
  achow101:
    ACK 24b67fa9f602cdeac0e9736256f77d048f616c48
  alfonsoromanz:
    Re ACK 24b67fa9f602cdeac0e9736256f77d048f616c48

Tree-SHA512: 8c063f23199ac0ff35909f786a5b0de1b4a9b15d1e93bdcdac10cb4bd2002c12e99b6fb1c2e56d16971e7622b67d910b79088429df92c48279be2d7797049911
This commit is contained in:
Ava Chow 2024-04-17 11:28:48 -04:00 committed by pasta
parent 51bc8bdcd6
commit acfdf9e438
No known key found for this signature in database
GPG Key ID: E2F3D7916E722D38

View File

@ -166,7 +166,18 @@ Often it is useful to communicate a description of scripts along with the
necessary private keys. For this reason, anywhere a public key or xpub is necessary private keys. For this reason, anywhere a public key or xpub is
supported, a private key in WIF format or xprv may be provided instead. supported, a private key in WIF format or xprv may be provided instead.
This is useful when private keys are necessary for hardened derivation This is useful when private keys are necessary for hardened derivation
steps, or for dumping wallet descriptors including private key material. steps, for signing transactions, or for dumping wallet descriptors
including private key material.
For example, after importing the following 2-of-3 multisig descriptor
into a wallet, one could use `signrawtransactionwithwallet`
to sign a transaction with the first key:
```
sh(multi(2,xprv.../84'/0'/0'/0/0,xpub1...,xpub2...))
```
Note how the first key is an xprv private key with a specific derivation path,
while the other two are public keys.
### Compatibility with old wallets ### Compatibility with old wallets