Questions tagged [output-script-descriptors]
The output-script-descriptors tag has no usage guidance.
64
questions
1
vote
0
answers
13
views
Address watcher with BDK/Rust
I'm trying to implement (multiple) address watcher in BDK/Rust.
I'm having trouble doing this for an arbitrary address, because BDK and rust-miniscript don't support "addr()" expressions in ...
0
votes
1
answer
31
views
Why timestamp mandatory on importdescriptors?
Stemming from How can a private key be imported to a descriptor wallet? (comment), can't really understand how timestamp is a mandatory argument.
Every elements in a descriptor have an activation date....
0
votes
1
answer
39
views
Why is `getdescriptorinfo` saying an xpub is not valid?
I'm testing this with the examples provided here. More specifically this one:
wsh(sortedmulti(1,...
0
votes
1
answer
49
views
Bitcoin Core RPC cURL - importdescriptors failing on loaded wallet
I am running the following request to load a wallet.
curl --location 'user:[email protected]:8332/wallet/test_multisig"' \
--header 'Content-Type: text/plain' \
--data '{
"jsonrpc&...
0
votes
0
answers
52
views
Bitcoin core cli importdescriptors (miniscript)
I created a miniscript descriptor and wanted to see how it looked like in core(testnet).
So i ran:
importdescriptors "[{"desc": "wsh(or_d(pk([658b6bd9/44'/1'/0'/0]...
1
vote
1
answer
81
views
bitcoin-cli WIF from xpriv, descriptor outputs clarity
Questions
Is it possible for the bitcoin-cli command to extract WIFs from a ranged descriptor with a derivation path?
If a descriptor is ranged it must have a xpriv key?
If a descriptor has a xpriv ...
3
votes
1
answer
133
views
How do descriptors work with miniscript in the library bitcoinerLab?
What I want is to be able to spend the funds from an address, either with its private key or with the private key of another address that I designate in the policy.
As I understand it, it works like ...
5
votes
1
answer
61
views
Error when doing a getdescriptorinfo on a Miniscript descriptor (V24.0.1)
I'm trying to play around with miniscript and import them into Bitcoin Core v24.0.1.
I created the following descriptor in https://miniscript.fun and tried to validate it in Bitcoin Core
bitcoin-cli ...
2
votes
1
answer
76
views
The hardened character does not work directly with bitcoin core importdescriptors RPC
When I importdescriptors to another bitcoin core wallet using the descriptor shown in the bitcoin core, the descriptor with hardened character can not used directly.
example: importdescriptors '[{ &...
1
vote
1
answer
64
views
Why listdescriptors yields different xpub keys for a brand new wallet in bitcoin core
I noticed that if I listdescriptors true immediately after creating a brand new wallet, it would list 8 descriptors that all use the same xprv key.
However, listdescriptors false would list 8 xpub ...
2
votes
1
answer
100
views
Does bitcoin core save the seed in a brand new descriptor wallet when it gets created?
When I create a brand new descriptor wallet in Bitoin Core 24.x, does it save the seed anywhere, and if so, can I export/import it?
I understand that exporting descriptors only is not the same as ...
1
vote
0
answers
60
views
Could the Bitcoin Core descriptor wallet recover and start spending UTXOs by only scanning the UTXO set?
In the case where you import a previously used BIP32 seed into a Bitcoin Core descriptor wallet, at the moment if I understand correctly, the only way to recover the UTXOs and spend them is by first ...
2
votes
0
answers
50
views
listdescriptors true fails after importing a 2-of-3 multisig descriptor (prv, pub, pub)
By deafult, in a newly created descriptor wallet that is not watch-only and not empty, listdescriptors true works and gives output.
However, here is a scenario that breaks it:
Get a new address in ...
1
vote
1
answer
83
views
signrawtransactionwithwallet for a multisig-transaction, after getnewaddress
I created a descriptor wallet in bitcoin core 24.
Next, I created a new address with using getnewaddress.
I took pubkey of that address, and used it as one of the three pubkeys when generating a ...
3
votes
1
answer
61
views
Error creating a Taproot descriptor with a single key as script path
I need to implement 1 of 2 multisig with P2TR.
My friend's Bitcoin public key is 0374d5f29bc6c15066437856c512f7f9e5a14a1eb93cab2776d33b27b4103c62d8.
My own Bitcoin public key is ...
3
votes
1
answer
131
views
Does Bitcoin Core version v22.0.0 support SLIP-0132?
Launched my own Bitcoin Core with regtest.
Installed Specter and made it connect to that node.
In Specter, I created a new bitcoin wallet, basing it on the bitcoin core hot wallet.
In Specter, I ...
1
vote
1
answer
331
views
How to import a descriptor into a wallet?
I am trying to import a descriptor into a blank wallet but I get a JSON parsing error.
$ cli createwallet "test" false true "" false true
$ cli -rpcwallet=test importdescriptors '[{...
1
vote
0
answers
32
views
Descriptor Wallets are way more confusing than legacy [duplicate]
how do you dump backup into a json file?
then how do you load the json file into backup?
" How to create the descriptors wallet? createwallet("my_wallet",
False, False, "", ...
4
votes
1
answer
177
views
How to spend an imported rawtr() descriptor with bitcoin-cli?
I created a transaction that creates a taproot output that can be spent using the private key (KEY) corresponding to the taproot output key. Then I imported the WIF formatted private key into Bitcoin ...
1
vote
0
answers
49
views
What are valid BIP32 version bytes in descriptors & optional key origin defaults?
BIP49 & BIP84 defined different BIP32 version bytes so that serialized xpubs start with ypub/zpub/upub/vpub.
This led to some incompatibility in the past with wallets and libraries that used (or ...
0
votes
1
answer
44
views
What determines if a descriptor can have ranges?
For example, an address for a simple P2SH script puzzle like x+5=6 will always be the same address, so my understanding is that should not be ranged. Where can I understand the general logic for ...
2
votes
1
answer
148
views
Minimum range when importing descriptors?
When importing descriptors with a range less than 1000, it seems to be ignored. Is this deliberate? I could‘t find anything about this in the docs.
To reproduce, first, create an empty wallet:
bitcoin-...
2
votes
1
answer
334
views
Signing PSBTs to spend from Taproot multisig address
I created a 2-of-3 multisig taproot address by following the steps outlined by Pieter Wuille in this post using importdescriptorsand deriveaddresses. His steps worked perfectly, and I was able to ...
4
votes
1
answer
952
views
How do I create a taproot multisig address requiring 21 of 210 keys to spend?
I understand that prior to taproot activation, m-of-n multisig addresses had an "n" max limit of 20 keys. I also saw the 998/999 tapscript multisig transaction that recently caused issues ...
2
votes
1
answer
168
views
How to create a valid time locked descriptor?
I am attempting to bitcoin-cli getdescriptorinfo "wpkh([00000000/84h/1h/0h/2]tpubDECM3jqdpSiGU2mKmo6xXxxXwFcmz6fX9EHMV3zbTY236jYYK9tM57cRFWaHqNjLbqAy52P6wkyo9wCAnr4P7Q1hGGFnrW98LPLajXEZPez/35:...
0
votes
1
answer
205
views
Can I sign multisig transaction only with private key in a descriptor based wallet?
I created a multisig wallet using bdk. It seems to accept descriptor with owner wallet's private key and other participating wallet's public key. Is it possible to create a multisig wallet where only ...
1
vote
1
answer
49
views
What's not standard in these descriptors?
In here, about these (indentation is mine):
sh(wsh(multi(2, abcdef01/1'/1'/0/*, 23456789/1'/1'/0/*)))#abcdefgh
sh(wsh(multi(2, abcdef01/1'/1'/1/*, 23456789/1'/1'/1/*)))#ijklmnop
wsh(multi(2, ...
3
votes
1
answer
200
views
How to represent a taproot output with more than 2 scriptleaves as a descriptor?
I read in the Bitcoin Core doc an example of a taproot output descriptor with 2 script paths :
tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(...
3
votes
2
answers
287
views
Why isn't it possible to add an OP_RETURN (or some arbitrary script) inside a taproot script path with a descriptor?
I'm reading the Bitcoin Core's descriptor documentation and I noticed that the raw() SCRIPT expression can only be used at descriptor top-level. Indeed when called with this descriptor ...
4
votes
2
answers
189
views
How many addresses can be generated from a ranged descriptor?
I'm trying to wrap my head around ranged descriptors. The docs in the bitcoin/bitcoin-repo says that a ranged descriptor can generate keys/address "in a configurable range (0-1000 by default)&...
5
votes
2
answers
1k
views
How can a private key be imported to a descriptor wallet?
If the Bitcoin Core Wallet Migration Tool is supposed to be creating descriptors for sparse keys (as it's supposed to support pre deterministic wallets), then why doesn't Bitcoin Core allow using ...
3
votes
1
answer
1k
views
Why can I not dump private keys from a descriptor wallet?
I created a new wallet in Bitcoin Core v23.x,
as expected it created an empty wallet
version 169900
descriptors true
format sqlite.
It seems it created 4 streams of 1000 keys each.
Anyway I told it ...
4
votes
1
answer
304
views
Which wallets or libraries besides core support (or will support) P2TR descriptors?
I want to help test the WIP Bitcoin Dev Kit "Add support for Taproot and tr() descriptors", PR #593 against other implementations besides Bitcoin Core (already testing again Core 22.0). In ...
3
votes
1
answer
298
views
Remove descriptor from a Bitcoin Core wallet
I had accidentally imported descriptors into a wallet that I didn't mean to import to in Bitcoin Core.
From what I can tell, the only way I can remove this descriptor from that wallet is to delete the ...
1
vote
1
answer
207
views
What does 'active' in importdescriptors do/mean?
this is what documentation says '(boolean, optional, default=false) Set this descriptor to be the active descriptor for the corresponding output type/externality'
Should it be used with addr ...
0
votes
1
answer
63
views
What is a descriptor in "generatetodescriptor"?
I thought it would be like a label as in:
getnewaddress "myawesomelabel"
> bcrt11qay7aqw7azkqhpda22vuzxphkccgmcvc9grz8z
but then
generatetodescriptor 10 "myawesomelabel"
> ...
4
votes
1
answer
486
views
Support for taproot multisig descriptors
I’m trying to understand the current state of descriptor support for taproot, with a specific focus on multisig wallets (When I say “multisig” I mean k-of-n threshold signing, rather than a schnorr ...
4
votes
1
answer
274
views
Layout of new SQLite descriptor wallets in v0.21 and v22.0?
I'm trying to explore the database format of the new descriptor wallets in Bitcoin Core v0.21 and v22.0, but I can't quite figure it out. I've created a new descriptor wallet and dumped it's contents ...
5
votes
1
answer
571
views
XPRIV/XPUB type for P2TR
As far as I understand, there is a standard that describes what address types an extended private key or extended public key is intended to derive and it works as such:
xpriv/xpub => Legacy ...
6
votes
1
answer
2k
views
How can I create P2TR addresses with Bitcoin Core 22.0?
I'm trying to test P2TR with Bitcoin Core, and I don't know how to get taproot addresses.
How should I create them using 22.0?
5
votes
2
answers
2k
views
How to make a taproot transaction with bitcoin-cli?
Can you give a simple step-by-step example for a taproot transaction with bitcoin-cli on Testnet?
2
votes
1
answer
194
views
Can output descriptors be used to encode any Miniscript expression?
Output descriptors provide a standard to make address bodies more exchangeable between various wallet implementations. It seems that an output descriptor can be used to encode any Miniscript ...
3
votes
1
answer
191
views
Would there ever be a reason to use a P2SH-P2WSH-P2PKH descriptor?
Bitcoin Core's descriptor documentation lists a P2SH-P2WSH-P2PKH descriptor as one of its examples:
sh(wsh(pkh(02e493dbf1c10d80f3581e4904930b1404cc6c13900ee0758474fa94abe8c4cd13))) describes an (...
1
vote
1
answer
246
views
`getdescriptorinfo` for private key
Public key:
bitcoin-cli getdescriptorinfo "wpkh(027fda10f37e6c637a1cfeba2cbada86de36f28e63d4ded9e1314117739f6419a9)"
{
"descriptor": "wpkh(...
6
votes
1
answer
2k
views
How do I get the private key of an address in descriptor wallets? How to dumpprivkey?
When I run dumpprivkey from Bitcoin Core 0.21.1. I get the following error message:
error code: -4
error message:
This type of wallet does not support this command
I came across achow's explanation ...
7
votes
2
answers
691
views
Should the Bitcoin Core wallet (or any wallet) prevent users from sending funds to a Taproot address pre activation?
The Bitcoin Core wallet prevents mainnet Taproot descriptors from being imported pre activation (November 2021) as a safeguard. However, you can send mainnet Bitcoin to a Taproot (P2TR) address pre ...
0
votes
1
answer
171
views
How do I obtain a checksum for a Taproot descriptor so that I can import it using importmulti?
I tried to import an example Taproot descriptor using bitcoin-cli importmulti
tr(c6047f9441ed7d6d3045406e95c07cd85c778e4b8cef3ca7abac09b95c709ee5,{pk(...
1
vote
1
answer
463
views
What wallet support for Taproot will be included in Bitcoin Core v22.0?
What wallet support for Taproot will be included in Bitcoin Core v22.0? What will I be able to do and what won't I be able to do using the Core wallet?
5
votes
1
answer
237
views
Output Descriptor for an Arbitrary Script
Can output descriptors be used to describe an arbitrary script?
Say I had a script something like the following:
OP_IF
1737417600 OP_CHECKLOCKTIMEVERIFY OP_DROP OP_DUP OP_HASH160 <pubKeyHashD> ...
-1
votes
1
answer
131
views
Please help out I send 109k to my client he was able to receive $50,000 please help
I send a bitcoin transaction of all coin my wallet which is $109,180 to my client wallet address giving to me. But he received $50,000 in is wallet address. And I sent all the coin my of 109180. ...