4

We are running bitcoind version v0.8.2-332-gf19eda1-beta.

Our goal is to parse all transactions in a given block.

To begin we call "bitcoind getblock ", which gives us a list of associated txid's.

We then call "bitcoind getrawtransaction " on each of these.

Unfortunately, getrawtransaction occasionally fails with:

error: {"code":-5,"message":"No information available about transaction"}

It is failing because the given transaction is not unspent, and the database which getrawtransactions relies on does not need to track such transactions.

This is explained in detail here on github: https://github.com/bitcoin/bitcoin/issues/2077

"there is never need for more information than unspent transactions outputs, so that is the only piece of data that is kept"

Are we forced to parse the blockchain database which bitcoind maintains on disk ourselves? Is there some way to extract the information we want through bitcoind?

Shouldn't bitcoind provide an interface to all blockchain information? It recently changed its underlying database and may do so again.

6

The problem begins by the fact that bitcoid doesn't keep that kind of information for spent txs, which however serves the typical QT user.

All you have to do to obtain a record for spent txs is:

  • run ONCE ONLY bitcoind with arguments: -reindex=1 -txindex=1, allow it quite some time to complete, add -debug -printtoconsole if you want to see the re-indexing progress in real-time

  • add: txindex=1 to bitcoin.conf

0

According to this thread bitcoind does provide an interface to access the information you're looking for.

0

You need to run your node with txindex=1 to enable the indexing of unspent outputs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.