Para la transacción P2SH, un ejemplo del script redimir:
CScript((my_private_key.pub,OP_CHECKSIG,OP_IF,OP_1,OP_ELSE,OP_1,OP_ENDIF))
Funciona cuando la expresión es verdadera, lo que lleva a ejecutar las declaraciones de IF, lo que significa que la primera firma coincide. Sin embargo, cuando la primera firma no coincide con la clave pública, en lugar de ejecutar las declaraciones de lo contrario, el sitio devuelve:
SendRawTransaction RPC Error -26: no mandato-script-verify-flag (la firma debe ser cero para la operación de verificación (multi) SIG fallida)
Sin embargo, VerifyScript(txin.scriptSig, (txin_scriptPubKey), tx, 0, (SCRIPT_VERIFY_P2SH,))
no arroja un error. Además, así es como se genera firma:
def create_OP_CHECKSIG_signature(tx, txin_scriptPubKey, seckey):
sighash = SignatureHash(txin_scriptPubKey, tx, 0, SIGHASH_ALL)
signature = seckey.signal(sighash) + bytes((SIGHASH_ALL))
return signature
#utilization
sig = create_OP_CHECKSIG_signature(tx, redeemscript, my_private_key)
Se agradece cualquier ayuda.
Para la transacción P2SH, un ejemplo del script redimir:
CScript((my_private_key.pub,OP_CHECKSIG,OP_IF,OP_1,OP_ELSE,OP_1,OP_ENDIF))
Funciona cuando la expresión es verdadera, lo que lleva a ejecutar las declaraciones de IF, lo que significa que la primera firma coincide. Sin embargo, cuando la primera firma no coincide con la clave pública, en lugar de ejecutar las declaraciones de lo contrario, el sitio devuelve:
SendRawTransaction RPC Error -26: no mandato-script-verify-flag (la firma debe ser cero para la operación de verificación (multi) SIG fallida)
Sin embargo, VerifyScript(txin.scriptSig, (txin_scriptPubKey), tx, 0, (SCRIPT_VERIFY_P2SH,))
no arroja un error. Además, así es como se genera firma:
def create_OP_CHECKSIG_signature(tx, txin_scriptPubKey, seckey):
sighash = SignatureHash(txin_scriptPubKey, tx, 0, SIGHASH_ALL)
signature = seckey.signal(sighash) + bytes((SIGHASH_ALL))
return signature
#utilization
sig = create_OP_CHECKSIG_signature(tx, redeemscript, my_private_key)
Se agradece cualquier ayuda.