Anteriormente generé tx con CHECKLOCKTIMEVERIFY Aquí está la transacción https://tchain.btc.com/bb1415c166fd9f767c06d34d539f4b110ef4445f74a76c5ffad1ded33032e872
Bloquea los fondos antes del bloque 1442909. Creo una nueva transacción de gasto.
Cuando trato de firmarlo:
bitcoin-cli -testnet signrawtransactionwithwallet "020000000172e83230d3ded1fa5f6ca7745f44f40e114b9f534dd3067c769ffd66c11514bb0000000000ffffffff01443dd200000000002676a92103e8546cfe53ca9014f6a352bc2e5c1f7cec1f5b344c73d4db3ed3b8f075d5c9ef88ac00000000"
{
"hex": "020000000172e83230d3ded1fa5f6ca7745f44f40e114b9f534dd3067c769ffd66c11514bb0000000000ffffffff01443dd200000000002676a92103e8546cfe53ca9014f6a352bc2e5c1f7cec1f5b344c73d4db3ed3b8f075d5c9ef88ac00000000",
"complete": false,
"errors": [
{
"txid": "bb1415c166fd9f767c06d34d539f4b110ef4445f74a76c5ffad1ded33032e872",
"vout": 0,
"witness": [
],
"scriptSig": "",
"sequence": 4294967295,
"error": "Locktime requirement not satisfied"
}
]
}
Recibí "Requisito de tiempo de bloqueo no satisfecho"? La altura de blockchain ahora es 1,442,912
¿Qué estoy haciendo mal?
Bitcoin Core no admite la firma de scripts con instrucciones CLTV.
Solo admite:
Si desea firmar algo más, deberá implementar su propia lógica de firma.
El error que está viendo se debe a que la transacción de gastos no tiene el nLockTime
campo configurado. En general, CLTV trabaja indirectamente:
nLockTime
campo más grande que el tiempo especificado por la instrucción CLTV.nLockTime
campo solo se puede confirmar cuando el tiempo de la cadena de bloques es posterior al valor de ese campo (este es el caso incluso cuando no hay CLTV presente).Pero independientemente, incluso si tuviera un nLockTime
campo correcto, signrawtransaction
aún no sabría cómo firmar ese script.
pebwindkraft
pieter wuille
Nikos Kostoulas