Per www

The coinstatsindex configuration parameter in Bitcoin Core is used to enable or disable the collection of UTXO (Unspent Transaction Output) statistics.

When coinstatsindex=1 is set in the configuration file or specified on the command line, Bitcoin Core will collect and store UTXO statistics for the purpose of more efficiently selecting inputs when creating transactions. Specifically, it will keep track of the number of unspent transaction outputs (UTXOs) with certain denominations, allowing for faster selection of inputs that match a desired output value.

Enabling coinstatsindex can result in improved transaction creation performance, particularly for wallets with a large number of UTXOs. However, it also adds some additional overhead to the node's storage and computational requirements.

It's worth noting that coinstatsindex was added in Bitcoin Core version 0.16.0 as an experimental feature, and was made default in Bitcoin Core version 0.17.0.

Reply to this note

Please Login to reply.

Discussion

Thank you for that clear explainer.

I thought that a full node always held the complete UTXO set in memory, but I did not realize this set isn’t necessarily in a properly formates database with an index on some of the fields 🤔

Yea. I been posting progress as it syncs and creates the new index. It's much smaller than txindex, it's like aggregates stats yet to see and read again