Zuvor habe ich tx mit CHECKLOCKTIMEVERIFY generiert. Hier ist die Transaktion https://tchain.btc.com/bb1415c166fd9f767c06d34d539f4b110ef4445f74a76c5ffad1ded33032e872
Es sperrt Gelder vor Block 1442909. Ich erstelle eine neue Ausgabentransaktion.
Wenn ich versuche zu unterschreiben:
bitcoin-cli -testnet signrawtransactionwithwallet "020000000172e83230d3ded1fa5f6ca7745f44f40e114b9f534dd3067c769ffd66c11514bb0000000000ffffffff01443dd200000000002676a92103e8546cfe53ca9014f6a352bc2e5c1f7cec1f5b344c73d4db3ed3b8f075d5c9ef88ac00000000"
{
"hex": "020000000172e83230d3ded1fa5f6ca7745f44f40e114b9f534dd3067c769ffd66c11514bb0000000000ffffffff01443dd200000000002676a92103e8546cfe53ca9014f6a352bc2e5c1f7cec1f5b344c73d4db3ed3b8f075d5c9ef88ac00000000",
"complete": false,
"errors": [
{
"txid": "bb1415c166fd9f767c06d34d539f4b110ef4445f74a76c5ffad1ded33032e872",
"vout": 0,
"witness": [
],
"scriptSig": "",
"sequence": 4294967295,
"error": "Locktime requirement not satisfied"
}
]
}
Ich bekomme "Locktime-Anforderung nicht erfüllt"? Die Höhe der Blockchain beträgt jetzt 1.442.912
Was mache ich falsch?
Bitcoin Core unterstützt keine Signaturskripte mit CLTV-Anweisungen.
Es unterstützt nur:
Wenn Sie etwas anderes signieren möchten, müssen Sie Ihre eigene Signaturlogik implementieren.
Der Fehler, den Sie sehen, ist darauf zurückzuführen, dass die Ausgabetransaktion das nLockTime
Feld nicht gesetzt hat. Im Allgemeinen wirkt CLTV indirekt:
nLockTime
Feld zu haben, das größer als die durch die CLTV-Anweisung spezifizierte Zeit ist.nLockTime
Feld kann nur bestätigt werden, wenn die Blockchain-Zeit nach dem Wert in diesem Feld liegt (dies ist sogar der Fall, wenn kein CLTV vorhanden ist).nLockTime
Aber unabhängig davon, selbst wenn Sie ein korrektes Feld hätten , signrawtransaction
wüssten Sie immer noch nicht, wie Sie für dieses Skript unterschreiben sollen.
pebwindkraft
Pieter Wuille
Nikos Kostoulas