user17055: I might be over thinking this, but I'm trying to figure out the best way to build an unspent output pool. Should I just naively parse every block? Every input gets removed from the hash set, and every output gets added back in? Seems terribly inefficient. The thing is it doesn't seem like there is anyway to accurately build this utxo pool without traversing the block chain at least once and constructing it. Is there a well defined short-cut I should be aware of? Pointers welcome.
I guess I can iterate through the on-disk blocks first, and then update as blocks come in.

user52619: You can directly get UTXO set from bitcoind using listunspent RPC call.

user30668: There is already a pool with the information that you are willing to build: the UTXO set. You can access it by querying the LevelDB located in .bitcoin/chainstate of a full node.
However, there is no easy way of doing so by using RPC commands, you should extract the information by yourself. 
I can provide a way to do so if you needed, and an extensive explanation of what are you going to find in each entry of the LevelDB.

17055: <p>I might be over thinking this, but I'm trying to figure out the best way to build an unspent output pool. Should I just naively parse every block? Every input gets removed from the hash set, and every output gets added back in? Seems terribly inefficient. The thing is it doesn't seem like there is anyway to accurately build this utxo pool without traversing the block chain at least once and constructing it. Is there a well defined short-cut I should be aware of? Pointers welcome.</p>

<p>I guess I can iterate through the on-disk blocks first, and then update as blocks come in.</p>
 52619: <p>You can directly get UTXO set from bitcoind using <code>listunspent</code> RPC call.</p>
 30668: <p>There is already a pool with the information that you are willing to build: <code>the UTXO set</code>. You can access it by querying the LevelDB located in <code>.bitcoin/chainstate</code> of a full node.</p>

<p>However, there is no easy way of doing so by using RPC commands, you should extract the information by yourself. </p>

<p>I can provide a way to do so if you needed, and an extensive explanation of what are you going to find in each entry of the LevelDB.</p>
