2022 Developer Survey is open! Take survey.
9 votes
Accepted

Should the Bitcoin Core wallet (or any wallet) prevent users from sending funds to a Taproot address pre activation?

TL;DR: Wallets SHOULD allow sending to all bech32m addresses at this point, but wallets MUST NOT request P2TR outputs before the Taproot spending rules are enforced on the network¹. The design of ...
user avatar
  • 62.5k
9 votes
Accepted

What are output descriptors?

An output descriptor (note that output descriptor and wallet descriptor refer to the same thing) is a human readable string that represents an output script (a scriptPubKey) and everything needed in ...
user avatar
  • 60.6k
9 votes
Accepted

XPRIV/XPUB type for P2TR

There is no ypub/zpub similar thing for Taproot. The recommendation is to use xpriv/xpub along with some extra information indicating that the script to create is Taproot, (e.g. with a tr() descriptor)...
user avatar
  • 60.6k
8 votes
Accepted

How can I create P2TR addresses with Bitcoin Core 22.0?

This functionality in the Bitcoin Core wallet has deliberately not been merged pre activation to prevent users from easily generating and giving out Taproot addresses prior to the Taproot rules being ...
user avatar
5 votes

What are output descriptors?

There are lots of address types (P2PKH, P2SH, P2WSH etc), some are multisigs, some are BIP32. Descriptors help the wallet software figure out what the address string actually is. If this is abstracted ...
user avatar
4 votes
Accepted

How do I create a descriptor wallet?

descriptors is a boolean argument, so it should either be true or false. As with all RPCs, the argument is positional by default. So your command would look like bitcoin-cli -signet createwallet "...
user avatar
  • 60.6k
4 votes
Accepted

Output Descriptor for an Arbitrary Script

Output script descriptors do not currently support any arbitrary script. However once extended by Miniscript, descriptors will be able to support any script logically. Minscript is an extension of ...
user avatar
  • 60.6k
3 votes
Accepted

How can a private key be imported to a descriptor wallet?

The migration tool has not been implemented yet, and it is not for manually importing keys. Rather it takes an existing wallet and migrates everything in that wallet. As the error message says, ...
user avatar
  • 60.6k
3 votes
Accepted

mainnet wallet will refuse to dump privkeys

As the error message says, the type of wallet you are using does not support the dumpprivkey command. You are using a descriptor wallet, and individual private keys cannot be exported from the wallet. ...
user avatar
  • 60.6k
3 votes
Accepted

Can output descriptors be used to encode any Miniscript expression?

Yes. Such descriptors are referred to as ranged descriptors. In a descriptor, keys are provided in the form of a Key expression. Key expressions can be individual keys themselves, or BIP 32 extended ...
user avatar
  • 60.6k
3 votes

Would there ever be a reason to use a P2SH-P2WSH-P2PKH descriptor?

There is no reason to ever use this construction—other options would be able to achieve equivalent permissions much more weight efficiently. However, disallowing inefficient descriptors would ...
user avatar
  • 62.5k
3 votes

Should the Bitcoin Core wallet (or any wallet) prevent users from sending funds to a Taproot address pre activation?

For a sender to send to a P2TR address pre activation they must have received that P2TR address from the receiver and so it would be an indirect safeguard to protect the receiver having given out P2TR ...
user avatar
3 votes
Accepted

How do I get the private key of an address in descriptor wallets? How to dumpprivkey?

It is currently not possible to export private keys from a descriptor wallet. There is currently an open pull request which allows the listdescriptors command to optionally return descriptors with ...
user avatar
  • 60.6k
3 votes
Accepted

Create multisignature wallet from xpub keys in bitcoin core

This will be mostly possible in the upcoming Bitcoin Core 0.18 release. First you need to understand that the sequence of such paired multisig addresses (with public keys generated from 2 xpubs in ...
user avatar
2 votes
Accepted

How will the migration tool from a Bitcoin Core legacy wallet to a descriptor wallet work?

The migration tool will go through all the keys in the legacy wallet and create descriptors for them. This requires considering everything that IsMine matches on. From the Bitcoin Core release notes: ...
user avatar
2 votes
Accepted

What is the link between address and use of the UTXO?

Because the address you are using is a P2SH-P2WPKH address as you mention (sh (wpkh ())), you get the output "isscript": true, "iswitness": false It is talking only about the top ...
user avatar
  • 11.3k
2 votes

Please help out I send 109k to my client he was able to receive $50,000 please help

When transacting Bitcoin, especially large amounts, you should verify the amount in Bitcoin terms. So if it was worth 2.25 Bitcoin at the time, verify that with him. That you agree on the amount in ...
user avatar
2 votes

How to create descriptor watch-only wallet with bitcoin-cli in Bitcoin Core 0.21?

First create a descriptor wallet with createwallet: bitcoin-cli -named createwallet wallet_name=mywallet descriptors=true This will make a descriptor wallet named mywallet. Then import a descriptor ...
user avatar
  • 60.6k
2 votes
Accepted

What wallet support for Taproot will be included in Bitcoin Core v22.0?

This is a draft answer and may contain inaccuracies. I will update if it does. It is worth noting that it is looking likely that Taproot will be active on mainnet in November 2021 but until then ...
user avatar
2 votes
Accepted

`getdescriptorinfo` for private key

Descriptors with a private key (or xprv) in it are equivalent to their version with the public key instead, apart from also conveying the private key information. For what purpose? The descriptor ...
user avatar
2 votes

What is a descriptor in "generatetodescriptor"?

If it were a label then the parameter would be named label. Descriptor refers to output script descriptors which are described in this document as well as BIPs 380, 381, 382, 383, 384, 385, and 386,
user avatar
  • 60.6k
2 votes
Accepted

Remove descriptor from a Bitcoin Core wallet

Bitcoin Core does not have any descriptor or key deletion functions because users may use them to accidentally delete the data that they need in order to spend their Bitcoin. The recommended way is to ...
user avatar
  • 60.6k
2 votes
Accepted

Layout of new SQLite descriptor wallets in v0.21 and v22.0?

An extended public key contains the chaincode, so it is not stored separately. So the tpubs that you have found will contain the chaincode. The private keys are not encrypted, and unencrypted private ...
user avatar
  • 60.6k
2 votes

How can a private key be imported to a descriptor wallet?

To give a bit more context to Andrew Chow's answer: the reason why this isn't any easier is that the concept of "importing a private key" is an insufficient method for describing what a ...
user avatar
1 vote

Which wallets or libraries besides core support (or will support) P2TR descriptors?

At the time of writing (May 2022) the only Bitcoin implementation other than Bitcoin Core (and Core derivatives like Knots) and rust-bitcoin I'm aware of that supports Taproot is btcd (Go). The ...
user avatar
1 vote
Accepted

What does 'active' in importdescriptors do/mean?

Active descriptors are ones from which new addresses are drawn (through the getnewaddress RPC, new receive addresses in the GUI, change addresses if internal, ...). Active descriptors must be ranged (...
user avatar
1 vote
Accepted

Support for taproot multisig descriptors

At the time of writing (January 2022) there hasn't been a descriptor specified for Schnorr/Taproot multisig (using the new OP_CHECKSIGADD opcode specified in BIP 342) or using the key aggregation ...
user avatar
1 vote
Accepted

How do I obtain a checksum for a Taproot descriptor so that I can import it using importmulti?

You can obtain the checksum using: bitcoin-cli getdescriptorinfo insert_descriptor_here. This outputs the descriptor with the checksum appended at the end under "descriptor" and a separate &...
user avatar
1 vote
Accepted

getnewaddress with importmulti

getnewaddress on non-descriptor wallets does not work for non-single key things. Ad descriptor wallets have not yet been released, you are not using a descriptor wallet. When you use importmulti to ...
user avatar
  • 60.6k

Only top scored, non community-wiki answers of a minimum length are eligible