¿Por qué se elimina mempool al reiniciar bitcoind y cómo mantenerlo?

Estoy usando la versión 0.12.1 del núcleo de bitcoin (para decirlo con precisión, estoy usando el núcleo de bitcoin parcheado de addrindex por btcdrak)

Esperaba que mempool se mantuviera después de reiniciar bitcoind pero eso fue eliminado.

Por lo que sé, mempool se almacena en el directorio chainstate/* como datos de LevelDB. Leí este artículo. ¿Para qué sirve la base de datos?

¿Puede describir por qué y cómo puedo evitarlo? A veces, tengo que reiniciar mi bitcoind por alguna razón (como el mantenimiento del sistema). En ese tiempo quiero mantener los datos de mempool. Obtener datos de mempool de compañeros ..? toma mucho tiempo.

getmempoolinfo antes de reiniciar bitcoind

$ 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 después de reiniciar bitcoind

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

Respuestas (1)

Hasta el momento, no existen versiones lanzadas de Bitcoin Core que almacenen el mempool en el disco. Es por eso que se llama grupo de miembros ; es un conjunto de transacciones no confirmadas guardadas en la memoria.

Se espera que la versión 0.14 introduzca el volcado automático del mempool al disco al apagar.

"Se espera que la versión 0.14 introduzca el volcado automático del mempool al disco al apagar". De hecho, esto se hizo: github.com/bitcoin/bitcoin/blob/master/doc/release-notes/…