Add an option for building SegWit transactions.
// P2PKH output script
DUP HASH160 ab68025513c3dbd2f7b92a94e0581f5d50f654e7 EQUALVERIFY CHECKSIG
// P2WPKH output script (includes: a witness version 0)
0 ab68025513c3dbd2f7b92a94e0581f5d50f654e7
// To spend the Segregated Witness output:
[...]
"vin" : [{
"txid": "0627052b6f28912f2703066a912ea577f2ce4da4caa5a5fbd8a57286c345c2f2",
"vout": 0,
"scriptSig": ""
}]
[...]
"witness": "<Bob’s witness data>"
[...]
// 1. P2SH
// Includes 20-byte RIPEMD160(SHA256(script)) hash:
HASH160 54c557e07dde5bb6cb791c7a540e0a4796f5e97e EQUAL
// P2SH output being spent:
"vout": 0,
"scriptSig": “<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>”,
]
// 2. P2WSH output script
// Includes a witness version (0) and 32-byte SHA256 hash of the redeem script.
0 a9b7b38d972cabc7961dbfbcb841ad4508d133c47ba87457b4a0e8aae86dbb89
// P2WSH output being spent with separate witness data
"vout": 0,
"scriptSig": “”,
]
[...]
"witness": "<SigA> <SigB> <2 PubA PubB PubC PubD PubE 5 CHECKMULTISIG>"
Add an option for building SegWit transactions.
Sources:
Details:
Examples:
The second type of witness program corresponds to a Pay-to-Script-Hash (P2SH) script.
Examples:
Transaction: