New answers tagged

2 votes

Error creating a Taproot descriptor with a single key as script path

If there is a single leaf in the descriptor you should not use brackets for the script path: tr([0d378869/44'/1'/0'/0/0]035d107216d89a540edacba2bc6719f3a9c6eac538bebac8b305e8cd42c3e466ae,pk(...
2 votes
Accepted

How do you construct witness stack and controlblock in P2TR Script Path outputs?

Based on Pieter Wuille comments "You do need to concatenate the leaf version, internal public key, and taproot script merkle branch elements into a single control block stack item" this the ...
6 votes
Accepted

How to extract the internal key of a simple P2TR address?

A P2TR address encodes a public key using Bech32m, which you can directly decode. This public key is often (as recommended by BIP341) the result of taking a different key (called "internal key&...
1 vote

How to create a 1-of-2 multisig with P2TR?

The Tapscript would look like this: <32-byte pubkey1> OP_CHECKSIG <32-byte pubkey2> OP_CHECKSIGADD 1 OP_NUMEQUAL Note: Unlike in P2SH/P2WSH, pubkeys should be 32-byte x-only pubkeys in ...
2 votes
Accepted

Validation of segwit v0-v1 tx automatically adds OP_CHECKSIG?

In the original design of Bitcoin, the conditions for spending an output would be explicitly defined in the output script (scriptPubKey). P2PK, P2PKH and bare multisig are examples of this. However, ...

Top 50 recent answers are included