Bitcoind

為什麼重啟bitcoind時mempool會被刪除,如何保留?

  • November 28, 2016

我正在使用比特幣核心版本 0.12.1(準確地說,我使用的是 btcdrak 修補的 addrindex 比特幣核心)

我希望在重新啟動 bitcoind 後保留 mempool,但它被刪除了。

據我所知,mempool 作為 LevelDB 數據儲存在 chainstate/* 目錄中。我讀了這篇文章。數據庫是乾什麼用的?

你能描述一下這是為什麼以及如何避免它。有時,由於某些原因(例如係統維護),我必須重新啟動我的 bitcoind。那時我想維護記憶體池數據。從同行獲取記憶體池數據..?花費很長時間。

在bitcoind重啟之前getmempoolinfo

$ 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"}

bitcoind重啟後getmempoolinfo

$ 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"}

到目前為止,不存在將記憶體池儲存在磁碟上的比特幣核心版本。這就是為什麼它被稱為記憶體池;這是一個保存在記憶體中的未確認交易池。

0.14 版預計將在關機時將記憶體池自動轉儲到磁碟。

引用自:https://bitcoin.stackexchange.com/questions/49895