Wie überprüfe ich OP_CHECKLOCKTIMEVERIFY?

Ich versuche, einfach in den OP_CHECKLOCKTIMEVERIFY-Opcode zu gelangen und ihn zu testen. Allerdings bekomme ich den Fehler

error: Locktime requirement not satisfied

egal welche unix- oder blocktime ich in meine btcdeb eintrage. Ich wollte einen anderen Debugger ausprobieren, aber zum Beispiel kennt die Bitcoin-IDEOP_CHECKLOCKTIMEVERIFY nicht einmal ...

Kann ich nicht einfach laufen btcdeb '[<blocksometimeago> OP_CHECKLOCKTIMEVERIFY]'? Ich meine, ich weiß, dass der Fehler erscheinen sollte, solange die Block- oder Unixzeit noch nicht erreicht ist, aber selbst wenn ich einen Block von vor Jahren eingebe, bekomme ich den gleichen Fehler.

Danke im Vorraus für deine Hilfe!

Bearbeiten: Ich möchte NUR den Überprüfungsbefehl ausführen, sonst nichts (kein Pubkey usw.)!

Antworten (1)

OP_CHECKLOCKTIMEVERIFY überprüft, wie der Name schon sagt, die Sperrzeit. Die Uhrzeit wird nicht überprüft.

Mit anderen Worten, es vergleicht das Feld der Transaktion nLockTimemit dem im Opcode bereitgestellten Wert. Die aktuelle Blockhöhe oder Zeit ist für den Opcode direkt irrelevant.

Natürlich schränkt der Nettoeffekt dieses Opcodes ein, wann die Transaktion abgebaut werden kann. Dies geschieht durch eine zweistufige Einschränkung: Der Opcode schränkt die möglichen Werte des nLockTime-Felds ein, und das nLockTime-Feld wiederum schränkt ein, wann die Transaktion abgebaut werden kann.

Danke schön! Haben Sie eine Quelle für eine leicht verständliche Dokumentation mit konkreten Beispielen? Ich benutze dieses , aber es ist aus meiner Sicht schwierig zu verstehen.