Estoy tratando de usar el método de este enlace de reddit para enviar una transacción sin procesar a la red bcc, pero sigo recibiendo el error: "16: mandato-script-verify-flag-failed (Script evaluado sin error pero terminado con un elemento de pila superior falso/vacío) (código -26)"
¿Hay algo diferente a ese método al enviar una transacción a la red BCC? Todo funciona bien hasta que intento hacer la transacción sendraw.
Para citar del enlace de arriba, estos son los pasos que estoy haciendo:
creartransacción en bruto:
createrawtransaction '[{"txid":"0cb0c97c206bf2229fac8800fe05410d23bbc5afe2b243ff921ef2065b210b34","vout":1,"scriptPubKey":"76a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac"}]' '{"mtRWdkBpAyz8pUoCYobABvnEe1xFPqvkJN":0.36972432}'
resultado:
0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c0100000000ffffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000
luego signrawtransaction:
signrawtransaction '0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c0100000000ffffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000' '[{"txid":"0cb0c97c206bf2229fac8800fe05410d23bbc5afe2b243ff921ef2065b210b34","vout":1,"scriptPubKey":"76a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac"}]' '["cUhHXQLPaNSPNh2rRiWSarn5jEoJ26HvrAYjLCfxnDsAYZenTthe"]'
resultado:
{ "hex" : "0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c010000006a47304402200d3f8a6430f952199d7f4550328ae980f9926b13f7c78f8a5640ecd445aa20bf022074a7e1ec5d27d83da6bb19a8fe9ef9757e40fa86a9b1437c27031be015d82db40121032effa843ad1052540de3ae323a165101bc2e980c76b69bdc69444e3ef599054effffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000", "complete" : true }
luego enviar la transacción:
sendrawtransaction '0100000001340b215b06f21e92ff43b2e2afc5bb230d4105fe0088ac9f22f26b207cc9b00c010000006a47304402200d3f8a6430f952199d7f4550328ae980f9926b13f7c78f8a5640ecd445aa20bf022074a7e1ec5d27d83da6bb19a8fe9ef9757e40fa86a9b1437c27031be015d82db40121032effa843ad1052540de3ae323a165101bc2e980c76b69bdc69444e3ef599054effffffff0280969800000000001976a9148d9222948aff2a22c6c0fe7a05f7edd3c1b0ab9f88ac10919b01000000001976a9144e03fd2b3eff32ee90d29524eb6f058719f3b50f88ac00000000'
resultado:
16: mandatory-script-verify-flag-failed (Script evaluated without error but finished with a false/empty top stack element) (code -26)
Como estoy seguro de que otros encontrarán el mismo problema, la solución es que BCC requiere que ingrese la etiqueta de cantidad al firmar una transacción. Sin embargo, debe ingresar el monto total que se muestra en el comando listunspent, de lo contrario no podrá enviar la transacción.
Tuve el mismo error, pero quizás un problema diferente. Consulte: Probar la transacción sin procesar BCC/BCH con CHECK(MULTI)SIG fallido. ¿Lo que está mal?
Es importante que el hash utilizado para firmar se base en los mismos datos que se envían actualmente + sigscript. Cualquier diferencia dará como resultado una firma diferente. También para la firma, se deben usar las cantidades de los puntos de salida y algunas diferencias en comparación con BTC, como AND'ing the sighash usado con 0x40 y Bip143SignatureHash.
Una revisión rápida de tus pasos me dice que lo estás haciendo bien. Pero las entradas que intenta gastar ya están gastadas (Testnet / https://www.blocktrail.com/tBTC/tx/0cb0c97c206bf2229fac8800fe05410d23bbc5afe2b243ff921ef2065b210b34 ).
El error que está encontrando no es muy preciso, pero eventualmente significará que está tratando de gastar y ya gastó monedas.
Pruebe regtest (su propia red local de bitcoin) iniciando Bitcoin-Core en -regtest
modo. Allí puede obtener algunas monedas para jugar llamando generate 101
(minar 100 bloques == obtener 50 BTC de saldo disponible) en su consola (o por RPC).
thorka mae
thorka mae