Estoy tratando de enviar transacciones con scriptSig:OP_PUSHDATA<Sig> OP_PUSHDATA<Data1> OP_PUSHDATA<Data2> OP_PUSHDATA<Data3> OP_PUSHDATA<RedeemScript>
Pero me sale error:
obligatorio-script-verify-flag-failed (La firma se encuentra en scriptCode)
¿Por qué recibo este error? ¿Lo que está mal?
Transacción sin procesar:
020000000001012f15356f4dfb7f48a91a72f5ff1071f72cb5fe4acc29e98ff5ae17a008a01dba000000007C160014ac09dd336a6fc10034fc44dcb706855668921ce7141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a246d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4aacffffffff01c005d9010000000017a914738292fc46dd7af803bd56035d0988af96a3168187024830450221009108d4e65a34fb50cd3283b6386a679f0dfc2b5fe97e3b3c3f6b8320814b3a2902204631daf2bb93605c9e079750092f304966b69fe28ce7701f4bc677714bca23af012102ada9884dbd1e8bd90968ba66256f017cd77d83595027f7929ae3537f98c92d4a00000000
{
"result": {
"txid": "441cf52028ee0acc8b4076681c7fd46dad03501be62c6b0050ca59090fa52973",
"hash": "dad2b4c56556b74d87243149ca3384ce04584d3bd8d21d80e291c4f9eed7e3f8",
"version": 2,
"size": 317,
"vsize": 235,
"locktime": 0,
"vin": [
{
"txid": "ba1da008a017aef58fe929cc4afeb52cf77110fff5721aa9487ffb4d6f35152f",
"vout": 0,
"scriptSig": {
"asm": "0014ac09dd336a6fc10034fc44dcb706855668921ce7 1f8b0800ffc1765400038d78055c545df3ff5d4a 1f8b0800ffc1765400038d78055c545df3ff5d4a 1f8b0800ffc1765400038d78055c545df3ff5d4a 6d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4a OP_CHECKSIG",
"hex": "160014ac09dd336a6fc10034fc44dcb706855668921ce7141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a141f8b0800ffc1765400038d78055c545df3ff5d4a246d6d2202ada9884dbd1e8bd90968ba66246f017cd77d83595027f7929ae3537f98c92d4aac"
},
"txinwitness": [
"30450221009108d4e65a34fb50cd3283b6386a679f0dfc2b5fe97e3b3c3f6b8320814b3a2902204631daf2bb93605c9e079750092f304966b69fe28ce7701f4bc677714bca23af01",
"02ada9884dbd1e8bd90968ba66256f017cd77d83595027f7929ae3537f98c92d4a"
],
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.31,
"n": 0,
"scriptPubKey": {
"asm": "OP_HASH160 738292fc46dd7af803bd56035d0988af96a31681 OP_EQUAL",
"hex": "a914738292fc46dd7af803bd56035d0988af96a3168187",
"reqSigs": 1,
"type": "scripthash",
"addresses": [
"2N3mz7o8v3YT4arXdQ5p8So6q3FUGjhUpEE"
]
}
}
]
},
"error": null,
"id": "curltext"
}
Lo que estás gastando es una salida P2SH. Para gastarlos, el último elemento de ScriptSig debe ser el script (codificado con un código de operación push, no el script en sí) que produce esa dirección P2SH cuando se aplica un hash.
Ver BIP16 , especialmente la regla #1.
La validación falla si hay otras operaciones además de las operaciones de "inserción de datos" en el scriptSig
pebwindkraft