Memory pool size

+1 vote
What is the memory pool size and is it configurable?
asked May 14, 2016 by bojan.radulovic

1 Answer

0 votes
There is no limit on the memory pool size, but there is effective limit on the number of transactions received from other nodes. There are two pools which have limits:

orphan pool - transactions with unknown inputs. The limit is 1000, but it can be adjusted by -maxorphantx runtime parameter.

inventory pool - tx hashes which we are aware of, but didn't receive yet. The limit is 50000 per node and cannot be modified by runtime parameter
answered May 16, 2016 by Michael
So in terms of performance, when we have a lot of tx per second, do I want to reduce the maxorphantx parameter or to increase it?

What are exactly txs with unknown inputs?
When one node creates several transactions they may depend on each other. Due to peer-to-peer comminication fashion the second transaction can be received by another node before the first. Receiving node cannot verify this transaction, but it doesn't reject it immediately, it puts this tx in the special place - orphan pool. When the pool is full, some transactions are ejected and eventually lost until confirmed in the block.
If the receiving node is a miner, the transactions will continue to exist only in the memory pool of the original node and will never be confirmed.

If you have lot of txs per second you should increase maxorphantx to avoid this.
Thanks, this was very helpfull :)
One more thing I don't see this maxorphantx parameter in documentation on your website with runtime parameters.

Could you update the list on the site?

And can you send me documentation with all parameters and commands that aren't available on the site? Thanks.
You can see the full list by running multichaind without parameters. This is the full list of runtime parameters, including those inherited from Bitcoin Core.

Only new parameters and those which have different default value in multichaind are listed on our website.

maxorphantx is inherited from Bitcoin Core