Estoy tratando de gastar una salida de SegWit en testnet usando los comandos RPC del núcleo de Bitcoin. Sin importar la clave privada a mi billetera (es decir, sin agregar una dirección de testigo). Me pregunto si alguien tuvo suerte gastando las salidas de SegWit de esta manera. ¿ Quizás la transacción signraw está rota en este caso? Aquí están los comandos y mis resultados. Lo que es extraño es que, aunque signrawtransaction en sí es exitosa, la transacción no es válida (rechazada por sendrawtransaction y rechazada por los exploradores de bloques porque también estoy tratando de impulsarla).
(Tenga en cuenta: cada vez que importo la clave en la billetera y hago un "addwitnessaddress" todo funciona bien).
./bitcoin-cli -testnet createrawtransaction '[{"txid":"03a4ffcc792525b4ddaecc05054114f2ad8aff8b7563cd41cdb496e2177d0117","vout":0}]' '{"mwCwTceJvYV27KXBc3NJZys6CjsgsoeHmf":0.8}'
020000000117017d17e296b4cd41cd63758bff8aadf214410505ccaeddb4252579ccffa4030000000000ffffffff0100b4c404000000001976a914ac19d3fd17710e6b9a331022fe92c693fdf6659588ac00000000
./bitcoin-cli -testnet signrawtransaction 020000000117017d17e296b4cd41cd63758bff8aadf214410505ccaeddb4252579ccffa4030000000000ffffffff0100b4c404000000001976a914ac19d3fd17710e6b9a331022fe92c693fdf6659588ac00000000 '[{"txid":"03a4ffcc792525b4ddaecc05054114f2ad8aff8b7563cd41cdb496e2177d0117","vout":0,"scriptPubKey":"a91421ce1507d06ed2742be0bf18a018bbcdd812a26487","redeemScript":"00149835f2e0dff9d7f6a4060140696bc7e00b12edd5"}]' '["cMahea7zqjxryy6NWaKxmhDyb1JzuNKCZAg8sxaJoXSBkRXjnib9"] '
{ "hex": "0200000000010117017d17e296b4cd41cd63758bff8aadf214410505ccaeddb4252579ccffa40300000000171600149835f2e0dff9d7f6a4060140696bc7e00b12edd5ffffffff0100b4c404000000001976a914ac19d3fd17710e6b9a331022fe92c693fdf6659588ac024730440220452a58cf56c45edaffb952acccd2f6f2cea523cf82e73b82f8eb5e3b3b1b17c4022011de26884cf693b12f16fdd8fa6c1d96dacb97050907353852895d9b80b3fae101210206f4bad90006f70112129815b25ba585484f1bb4f8b88f8ebaec2c76f543794300000000", "complete": true }
./bitcoin-cli -testnet sendrawtransaction 0200000000010117017d17e296b4cd41cd63758bff8aadf214410505ccaeddb4252579ccffa40300000000171600149835f2e0dff9d7f6a4060140696bc7e00b12edd5ffffffff0100b4c404000000001976a914ac19d3fd17710e6b9a331022fe92c693fdf6659588ac024730440220452a58cf56c45edaffb952acccd2f6f2cea523cf82e73b82f8eb5e3b3b1b17c4022011de26884cf693b12f16fdd8fa6c1d96dacb97050907353852895d9b80b3fae101210206f4bad90006f70112129815b25ba585484f1bb4f8b88f8ebaec2c76f543794300000000
código de error: -26 mensaje de error: 64: non-mandatory-script-verify-flag (La firma debe ser cero para la operación fallida CHECK(MULTI)SIG)
La billetera no sabe cómo firmar para cosas de segwit hasta que usas addwitnessaddress
. Esto se debe a que solo rastrea las salidas P2PKH para esa tecla. Debe indicarle explícitamente que realice un seguimiento de las salidas testigo de la clave mediante el uso de addwitnessaddress
.
Faltaba el amount
problema en el utxo dado a signrawtransaction. Adjunté el campo al final:
signrawtransaction
020000000117017d17e296b4cd41cd63758bff8aadf214410505ccaeddb4252579ccffa4030000000000ffffffff0100b4c404000000001976a914ac19d3fd17710e6b9a331022fe92c693fdf6659588ac00000000
'[{"txid":"03a4ffcc792525b4ddaecc05054114f2ad8aff8b7563cd41cdb496e2177d0117","vout":0,"scriptPubKey":"a91421ce1507d06ed2742be0bf18a018bbcdd812a26487","redeemScript":"00149835f2e0dff9d7f6a4060140696bc7e00b12edd5","amount":0.85}]'
'["cMahea7zqjxryy6NWaKxmhDyb1JzuNKCZAg8sxaJoXSBkRXjnib9"]'
Gastar en59fdf1c39236498debdab39302e57b370e0e4d94d856d52d923868cfe5ef4f1b
abeja
andres chow
addwitnessaddress
funcione para todas las direcciones nuevas y dar esas direcciones segwit.colisionador de mallas
Pedro
andres chow
addwitnessaddress
es un comando, no algo que se especifica.