Bitcoind benötigt eine Blockchain, um die Transaktion zu signieren

Ich versuche, eine Transaktion mit Bitcoin über RPC zu signieren. Hier ist die Anfrage, die ich sende.

signrawtransaction "01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb0000000000ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000" '[]' '["cVAKPN7Rioo1ZLVjALa6n38iqSCd6g9zdyG5UUNcNphikstmwWHW"]'

Wenn ich das mit der gesamten heruntergeladenen Blockchain an den Bitcoind-Daemon sende, funktioniert es perfekt:

{"hex":"01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb000000006b48304502201d8199f2639579435e9d3c3d5f2245195d2c8f370bd738996120570146048f4e022100ad33352531fdc8805903d745a460249b5487555b72596a089dec724dc8df0700012103129f14097719e665939e778ef876d0022528b954b95d69b39194b9c764b4ae83ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000","complete":true}

Aber wenn ich die Blockchain-Datei entferne, funktioniert es nicht mehr

{"hex":"01000000017267f196964c70d529ba2c16c84f1fd8b52d983eb472bd005423c51ba15e6fbb0000000000ffffffff020065cd1d000000001976a9147c9b6f1bc7173d2751d49f072c6d29a10d40e24188acf03dcd1d000000001976a9144d814b8163d4cf7ad896cc5ecaba8a2c3790950c88ac00000000","complete":false}

Benötigt Bitcoin die Blockchain, um die Transaktion zu signieren (es würde mich sehr überraschen), oder fehlt mir etwas?

PS: Ich habe versucht, die Transaktion auf einem frisch installierten Bitcoin zu signieren, und es hat nicht funktioniert. Der gesamte Teil „Löschen der Blockchain-Dateien“ diente nur dazu, sicherzustellen, dass es wirklich die fehlende Blockchain war, die das Problem verursachte, und nicht eine seltsam installierte/konfigurierte Bitcoin.

Antworten (1)

Sie benötigen sicherlich die nicht ausgegebenen TX-Ausgaben (TX-Hashes und Indizes), um eine Transaktion zu signieren. Außerdem benötigen Sie das Alter und den Wert für jeden utxo, um die erforderlichen Gebühren zu berechnen.

Sie können die nicht ausgegebenen Transaktionsausgabedaten jedoch direkt an signrawtransaction übergeben. Bitcoind greift darauf zurück, es nur nachzuschlagen, wenn Sie es nicht bestehen.