Bifurqué openwallet-android para poder agregar mi moneda - (marcadores de posición) placeh.io.
El openwallet-android se conecta al servidor electrumx. Puedo hacer que mi cadena se cargue correctamente en el servidor electrumx. La billetera abierta lee correctamente el saldo de la dirección/entradas y puede ver su saldo a través de la billetera.
Sin embargo, cuando intento transmitir una transacción, recibo el mensaje:
"mandatory-script-verify-flag-failed (signature must be zero for failed check(multi)sig operation)"
Desde la red placehd/placeh.
Aquí hay información adicional, esta es la transacción sin procesar que se está publicando. Si trato de enviar la transacción sin procesar en el cliente placeh-cli, no tendrá éxito y produce el mismo error cuando se hace manualmente
Transacción sin procesar:
placeh-cli decoderawtransaction
01000000017477f59250a8d8a7d94ba5dcc196222c0b6c92849cad210735b4380b24c03b13010000006a473044022053b17723e8a90846fc341006f5f63d5776df619f33cec82d8065e836508672c6022036298087c2f37c3002c4897b74e7de6af8c608c89cbcef07ada9c5551c85f2810121031dc78b8c254649e204b81641f70497980ca6b5574f837001c962930580d1372dffffffff02c00e1602000000001976a914a117ed0f4e2afe1e1b8d2b0253408a7830f2b55688ac0093e651020000001976a914c472af380586ed1638686731cc1eda3c60363ec788ac00000000
{
"txid": "de045f2220d0b9f34060336c9ed3badc7c22741fec3aa1d87ff24264c3c1fb5e",
"hash": "de045f2220d0b9f34060336c9ed3badc7c22741fec3aa1d87ff24264c3c1fb5e",
"version": 1,
"size": 225,
"vsize": 225,
"locktime": 0,
"vin": [
{
"txid": "133bc0240b38b4350721ad9c84926c0b2c2296c1dca54bd9a7d8a85092f57774",
"vout": 1,
"scriptSig": {
"asm": "3044022053b17723e8a90846fc341006f5f63d5776df619f33cec82d8065e836508672c6022036298087c2f37c3002c4897b74e7de6af8c608c89cbcef07ada9c5551c85f281[ALL] 031dc78b8c254649e204b81641f70497980ca6b5574f837001c962930580d1372d",
"hex": "473044022053b17723e8a90846fc341006f5f63d5776df619f33cec82d8065e836508672c6022036298087c2f37c3002c4897b74e7de6af8c608c89cbcef07ada9c5551c85f2810121031dc78b8c254649e204b81641f70497980ca6b5574f837001c962930580d1372d"
},
"sequence": 4294967295
}
],
"vout": [
{
"value": 0.35000000,
"n": 0,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 a117ed0f4e2afe1e1b8d2b0253408a7830f2b556 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914a117ed0f4e2afe1e1b8d2b0253408a7830f2b55688ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"FLWtv6SuocTFMozTZvdZAhroJLehVjLKhs"
]
}
},
{
"value": 99.64000000,
"n": 1,
"scriptPubKey": {
"asm": "OP_DUP OP_HASH160 c472af380586ed1638686731cc1eda3c60363ec7 OP_EQUALVERIFY OP_CHECKSIG",
"hex": "76a914c472af380586ed1638686731cc1eda3c60363ec788ac",
"reqSigs": 1,
"type": "pubkeyhash",
"addresses": [
"FPjqHpEzdYAbxVG2acxz8GWGAPmJsWj6oP"
]
}
}
]
}
Creo que esto puede tener algo que ver con la forma en que openwallet construye la transacción sin procesar. Me gustaría actualizar las bibliotecas para que pueda transmitir la transacción correctamente.
Después de algunas investigaciones adicionales e información útil que encontré aquí, pude concluir lo siguiente:
Las transacciones codificadas en 0.12.X bitcoin y luego transmitidas en 0.15 bitcoin pueden encontrar "mandatory-script-verify-flag-failed (la firma debe ser cero para la operación fallida de verificación (multi)sig)"
Este problema se puede resolver haciendo lo siguiente: Firmando su transacción sin formato 0.12.X con una firma 0.15. No puedo identificar el problema exacto, sin embargo, pude codificar la transacción sin procesar en 0.12.X y firmarla en 0.15 y transmitirla con éxito. Esta información puede ser útil si alguien está tratando de averiguar qué partes de su proceso de firma deben refactorizarse/actualizarse.
JBaczuk
xagaú
pieter wuille
xagaú
Raghav Sood
JBaczuk
xagaú
Raghav Sood
40840b34365502f6fa5f066b137cf5081b7be8f8
), luego agregué los códigos de operación para obtener76a91440840b34365502f6fa5f066b137cf5081b7be8f888ac
, que es un script p2pkh estándarRaghav Sood
xagaú
xagaú