Биткойну нужен блокчейн для подписания транзакции

Я пытаюсь подписать транзакцию с помощью биткойн через rpc. Вот запрос, который я посылаю.

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

Когда я отправляю это демону bitcoind со всей загруженной цепочкой блоков, он работает отлично:

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

Но когда я удаляю файл блокчейна, он больше не работает.

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

Нужен ли биткойну блокчейн для подписи транзакции (это было бы очень неожиданно для меня), или я что-то упускаю?

PS: я пытался подписать транзакцию на только что установленном биткойне, и это не сработало. Вся часть «удалить файлы блокчейна» была предназначена только для того, чтобы убедиться, что проблема действительно вызвана отсутствием блокчейна, а не странно установленным/настроенным биткойном.

Ответы (1)

Вам обязательно понадобятся неизрасходованные выходы tx (хэши tx и индексы) для подписи транзакции. Кроме того, вам нужен возраст и стоимость каждого utxo для расчета необходимых комиссий.

Однако вы можете передать неизрасходованные выходные данные транзакции непосредственно в signrawtransaction. Биткойн возвращается к поиску только тогда, когда вы его не пропускаете.