Crypto currency

How can I spend from a P2TR address on Signet with the Bitcoin Core wallet in 22.0?

This is a draft answer (incomplete).

To get set up on Signet ie sync the Signet chain and claim some Signet Bitcoin, follow these instructions. (You can run a Signet node in parallel with your mainnet node, ie same hardware)

You now have funds at a non-P2TR (i.e. SegWit v0, bech32) Signet address. Now you need to generate a P2TR address to send funds to so you have funds at a P2TR address (so you can spend from it).

You can’t generate a P2TR (SegWit v1, bech32m) address in the wallet using getnewaddress:

./bitcoin-cli -signet -rpcwallet=insert_wallet_name getnewaddress "" "bech32m"


error code: -8 error message: Legacy wallets cannot provide bech32m addresses

So you need to construct a Taproot descriptor manually and then import it into your descriptor wallet.

An example Taproot descriptor is:


which describes a P2TR output with the c6… x-only pubkey as internal key and two script paths.

If you only want to do a key path spend you only need the equivalent of:


To do: Generating a private key, importing the private key to the descriptor wallet, calculating the x-only pubkey, spend from the Taproot descriptor to a SegWit v0 address (sendtoaddress, send back to initial SegWit v0 address)


Most Related Links :
Business News Governmental News Finance News

Source link

Back to top button