Bitcoind necesita blockchain para firmar la transacción

Estoy tratando de firmar una transacción usando bitcoind a través de rpc. Aquí está la solicitud que envío.

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

Cuando envío eso al demonio bitcoind con toda la cadena de bloques descargada, funciona perfectamente:

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

Pero cuando elimino el archivo blockchain, ya no funciona.

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

¿Bitcoind necesita la cadena de bloques para firmar la transacción (sería muy sorprendente para mí), o hay algo que me estoy perdiendo?

PD: Traté de firmar la transacción en un bitcoind recién instalado y no funcionó. Toda la parte de "eliminar los archivos de la cadena de bloques" fue solo para asegurarse de que realmente faltaba la cadena de bloques la que estaba causando el problema y no un bitcoind extrañamente instalado/configurado.

Respuestas (1)

Seguramente necesita las salidas de tx no gastadas (hashes de tx e índices) para firmar una transacción. Además, necesita la edad y el valor de cada utxo para calcular las tarifas requeridas.

Sin embargo, puede pasar los datos de salida de la transacción no gastados directamente a signrawtransaction. Bitcoind recurre a buscarlo solo cuando no lo pasa.