Why is mempool deleted when restart bitcoind and how to keep it?

1

I'm using bitcoin core version 0.12.1 (To say precisely, I'm using addrindex patched bitcoin core by btcdrak)

I expected that mempool was maintained after restart bitcoind but that was deleted.

As far as I know that mempool is stored in chainstate/* directory as LevelDB data. I read this article. What is the database for?

Can you describe this is why and how can I avoid it. Sometimes, I have to restart my bitcoind for some reasons (like system maintanance). In that time I want to maintain the mempool data. Getting mempool data from peers..? takes a long time.

getmempoolinfo before bitcoind restart

$ curl --user 'xxx:yyy' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getmempoolinfo","params":[]}' -H 'content-type:text/plain;' http://127.0.0.1:8332
{"result":{"size":15350,"bytes":120107104,"usage":258574880,"maxmempool":300000000,"mempoolminfee":0.00000000},"error":null,"id":"curltext"}

getmempoolinfo after bitcoind restart

$ curl --user 'xxx:yyy' --data-binary '{"jsonrpc":"1.0","id":"curltext","method":"getmempoolinfo","params":[]}' -H 'content-type:text/plain;' http://127.0.0.1:8332
{"result":{"size":0,"bytes":0,"usage":0,"maxmempool":300000000,"mempoolminfee":0.00000000},"error":null,"id":"curltext"}

zono

Posted 2016-11-28T03:28:11.290

Reputation: 1 569

Answers

4

So far, no released versions of Bitcoin Core exist that store the mempool on disk. That's why it's called the mempool; it's a pool of unconfirmed transactions kept in memory.

Version 0.14 is expected to introduce automatic dumping of the mempool to disk at shutdown.

Pieter Wuille

Posted 2016-11-28T03:28:11.290

Reputation: 54 032