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.
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.
Pieter Wuille