[Bitcoin-development] Access to Mempool

Mike Hearn mike at plan99.net
Sat Dec 28 14:46:05 UTC 2013

> I was reading there are some commands to access a peer's mempool state.
> The purpose being to allow miners to recover faster after a reboot, I
> think?

The "mempool" command allows nodes to request the contents of a peers
memory pool, yes.

It is currently used by SPV clients to find transactions that were
broadcast before they were started up (but not yet confirmed).

> Reading peer mempool definitely allows recovering faster after a reboot.
> So does persisting mempool in a database locally.

0.9 has code to save the mempool to disk.

> But what can you learn about a node from its mempool? Basically, are there
> distinguishing
> features in the mempool, or could there be?

Er, you mean, distinguishing features beyond the nodes IP address?

The contents of the mempool may vary depending on when the node was started
and what it saw at what times. I guess it's distinguishing in a way, but
not in any important way. Nodes are not intended to be completely
indistinguishable, just indistinguishable enough that it doesn't matter
which you connect to.

> Are there transactions you can receive which go into your own mempool but
> which you don't forward?

I don't think so, unless there are quirks to do with sendrawtransaction
RPCs or strangely crafted wallet spends. Normally if a tx is in the mempool
it will be relayed.

> By the way, are there recommended places to go to compare features
> implemented by different wallet software?

I don't know of any such place, but I'm sure people have compiled tables
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20131228/575ec0fd/attachment.html>

More information about the bitcoin-dev mailing list