Ich kann die Transaktion in Bitcoin-QT nicht entschlüsseln.
Der Fehler ist: TX decode failed (code -22)
. Aber die Blockexplorer-Site entschlüsselt es.
Dann versuche ich, eine Transaktion von der Website blockcypher.com zu senden, und der Fehler lautet:Error validating transaction: Error running script for input 0 referencing c806c9ae2ac9c71fad307c9fedeca2133edb195cae9e924424885f57a63ba9a9 at 0: Script was NOT verified successfully..
Bitte helfen Sie, was falsch ist. Ich überprüfe die Transaktionsstruktur von Hand und überprüfe Unterschriften. Es ist alles in Ordnung.
Ich lade signierte und unsignierte Transaktionen auf Pastebin hoch.
Unsignierte Transaktion: https://pastebin.com/XfE73U57
Entschlüsselte unsignierte Transaktion: https://pastebin.com/RH2tNrNn
Unterzeichnete Transaktion: https://pastebin.com/K15c29tK
Entschlüsselte signierte Transaktion: https://pastebin.com/Mfs0bXgR
Unterschriften und Transaktionsstruktur prüfe ich von Hand, alles stimmt. Eingaben werden nicht ausgegeben. Also, wo liegt das Problem? Bitte hilf mir.
Ihre Transaktion hat am Ende 4 zusätzliche Bytes. Entfernen Sie einfach die 01000000 und es sollte dann in Ordnung sein.
Ich denke, die unsignierte Rohtransaktion ist nicht richtig eingerichtet. Das unsignierte tx hat das 5-fache des Pubkey-Skripts im Abschnitt tx_in[0-4]. Es sollte nur eine für jede Signatur haben. Wie ich das System verstanden habe, besteht der Weg zu gehen darin, alle Eingabeskripte auf nichts zu setzen und eine Schleife für jede der fünf Eingaben zu durchlaufen, wodurch 5 separate Signaturen erstellt werden.
Die erste Schleife enthält das Pubkey-Skript für tx_in[0]. Alle anderen bleiben leer. Dann berechnen Sie eine gültige Signatur für tx_in[0]. Dann setzt du in der nächsten Schleife wieder alles auf nichts und nur für tx_in 1 das Pubkey-Skript. Und so weiter ... Ich versuche es so darzustellen:
set all scriptSig fields to empty, and length of field to 0
Loop 1
only tx_in[0] with pubkey script, generate sig[0]
Loop 2
only tx_in[1] with pubkey script, generate sig[1]
Loop 3
only tx_in[2] with pubkey script, generate sig[2]
Loop 4
only tx_in[3] with pubkey script, generate sig[3]
Loop 5
only tx_in[4] with pubkey script, generate sig[4]
Dadurch erhalten Sie die Signaturen, jetzt platzieren Sie jede Signatur in ihrem scriptsig-Feld und übernehmen die Längenfelder entsprechend.
Ich habe ähnliche Informationen hier und hier gesehen .
pebwindkraft
Chupacabra
pebwindkraft
Chupacabra
c806c9ae2ac9c71fad307c9fedeca2133edb195cae9e924424885f57a63ba9a9
. Die Ausgaben dieser Transaktion sind nicht ausgegeben (5 Ausgaben). Ich versuche, meine Frage zu bearbeiten, um das Problem zu klären, das ich wirklich falsch verstehe.Alex Murawjow