Skip to content

Instantly share code, notes, and snippets.

@fivepiece
Last active November 1, 2020 23:59
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save fivepiece/e25b0fcdf8303fdbfd56363ae50dec15 to your computer and use it in GitHub Desktop.
Save fivepiece/e25b0fcdf8303fdbfd56363ae50dec15 to your computer and use it in GitHub Desktop.
decodescript-p2wsh
# pay to pubkey
$ regtest-cli decodescript 2102AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC
{
"asm": "02aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OP_CHECKSIG",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"mpduARVk95R9EXDtbb54fZG1VVQ4Asg7jf"
],
"p2sh": "2NC3FBa1C16FjAUPrUDGoJV5UbjvCvThd4F",
"segwit": {
"asm": "0 64096dffec1b1b52addf3020a9f01be8b812c3f9",
"hex": "001464096dffec1b1b52addf3020a9f01be8b812c3f9",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"bcrt1qvsykmllvrvd49twlxqs2nuqmazup9slerlpc5m"
],
"p2sh-segwit": "2NEdjLGUCbR4ZrAZmes1WMFNGTAL13zZgX6"
}
}
# pay to pubkey with uncompressed pubkey is not encoded in P2WPKH
$ regtest-cli decodescript 4104BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBAC
{
"asm": "04bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb OP_CHECKSIG",
"reqSigs": 1,
"type": "pubkey",
"addresses": [
"muK6UA6gz5ZMU1YBtEvuAr9RnX4L8P94ph"
],
"p2sh": "2NFrYWMs5Vz1UkE9RQrrZSV4FoqrKP5XEVb"
}
# pay to pubkey hash
$ regtest-cli decodescript 76A914AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA88AC
{
"asm": "OP_DUP OP_HASH160 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa OP_EQUALVERIFY OP_CHECKSIG",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"mw5McnxAx9Qqf4uLjWrvV14WwzmfgiQ9PX"
],
"p2sh": "2MtRuuZPbTMnBXymTsKVRz1LsYYKpaeNirD",
"segwit": {
"asm": "0 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"hex": "0014aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"bcrt1q42424242424242424242424242424242rt8pnt"
],
"p2sh-segwit": "2N7DgjVJ27jgfnJ1FtTgRFma5pdugwawoXn"
}
}
# 2-of-3 multisig
$ regtest-cli decodescript 522102AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2102BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB2102CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC53AE
{
"asm": "2 02aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 02bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 02cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc 3 OP_CHECKMULTISIG",
"reqSigs": 2,
"type": "multisig",
"addresses": [
"mpduARVk95R9EXDtbb54fZG1VVQ4Asg7jf",
"mz1pQ4TVBnsLQ8wHNVBwrqka4hw8bWw2ae",
"mkWGDMN9C45ieasyvfg8QEahmDiezoaxiV"
],
"p2sh": "2MzBXYy5k9s8x1TE8ZkGPMAmZsoDif65PEV",
"segwit": {
"asm": "0 b704ad93dc6807347b1932a9a62169ee3ad176181f9b95a9f74617c96bee9061",
"hex": "0020b704ad93dc6807347b1932a9a62169ee3ad176181f9b95a9f74617c96bee9061",
"reqSigs": 1,
"type": "witness_v0_scripthash",
"addresses": [
"bcrt1qkuz2my7udqrng7cex256vgtfacadzascr7det20hgctuj6lwjpssv4unv7"
],
"p2sh-segwit": "2NBBst9cKVQgPJ9SPv8jRQhBsNn5mVszHgv"
}
}
# 2-of-2 multisig with uncompressed pubkey is not encoded in P2WSH
$ regtest-cli decodescript 522103AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA4104BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB52AE
{
"asm": "2 03aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 04bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 2 OP_CHECKMULTISIG",
"reqSigs": 2,
"type": "multisig",
"addresses": [
"mgKXjZDTmGDpHekWeAouvUB7oiG5qcVf5q",
"muK6UA6gz5ZMU1YBtEvuAr9RnX4L8P94ph"
],
"p2sh": "2MsVKV4s3gZt7QksaFQXzLPF9Na8gNMHcwz"
}
# non-standed scriptpubkey
$ regtest-cli decodescript 005152535455565758595A5B5C5D5E5F60
{
"asm": "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16",
"type": "nonstandard",
"p2sh": "2N5FGEMuJTHdiuvaRoZWEnyJySeZ4Laxi61",
"segwit": {
"asm": "0 e6eb743feae35211f50e9b0c2e09c37ff9019768cee6079eb8d6f6c17f517f53",
"hex": "0020e6eb743feae35211f50e9b0c2e09c37ff9019768cee6079eb8d6f6c17f517f53",
"reqSigs": 1,
"type": "witness_v0_scripthash",
"addresses": [
"bcrt1qum4hg0l2udfpragwnvxzuzwr0lusr9mgemnq084c6mmvzl630afswd80pe"
],
"p2sh-segwit": "2N1is9d6rdZGojxzAyqsuZjxGqLNMwnLpk4"
}
}
## p2sh is not nested into p2wsh
# pay to script hash
$ regtest-cli decodescript A914BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB87
{
"asm": "OP_HASH160 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb OP_EQUAL",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2NAMsF6aHDVVmm1JBDUGAffgWMaHeLjBGMF"
]
}
## segwit programs are not re-encoded in segwit scriptpubkeys
# pay to witness pubkey hash
$ regtest-cli decodescript 0014DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
{
"asm": "0 dddddddddddddddddddddddddddddddddddddddd",
"reqSigs": 1,
"type": "witness_v0_keyhash",
"addresses": [
"bcrt1qmhwamhwamhwamhwamhwamhwamhwamhwauy0749"
],
"p2sh": "2N6gyhMTrSQeEjwE9X9CBjGKkMgc9wcRHMY"
}
# pay to witness script hash
$ regtest-cli decodescript 0020EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
{
"asm": "0 eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"reqSigs": 1,
"type": "witness_v0_scripthash",
"addresses": [
"bcrt1qamhwamhwamhwamhwamhwamhwamhwamhwamhwamhwamhwamhwamhqgdn98t"
],
"p2sh": "2MwGk8mw1GBP6U9D5X8gTvgvXpuknmAK3fo"
}
# undefined witness version program
$ regtest-cli decodescript 5123FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
{
"asm": "1 ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff",
"reqSigs": 1,
"type": "witness_unknown",
"addresses": [
"bcrt1plllllllllllllllllllllllllllllllllllllllllllllllllllllllldhp9fh"
],
"p2sh": "2NCvMSBf3qHt7zY67Vw2LbYYfTmV9kYSvvR"
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment