Bitcoin 0.11 on a Raspberry Pi 2:
https://github.com/jgarzik/python-bitcoinrpc
I am using this RPC auth proxy to talk to bitcoind from Python. I have a script that requests getmempoolinfo
every 1 second. Occasionally given user input a new address is needed, and the script requests getnewaddress
. This RPC-call often times out.
Sometimes the time-out causes even weirder behavior in other RPC calls until python is interrupted and the script killed: for example, getmempoolinfo
returns the same information every time it is called until the script is restarted. Even querying bitcoind from the command line in a separate terminal window bitcoin-cli getmempoolinfo
indicates that the mempool is not growing at all until the script that timed-out calling getnewaddress
is terminated.
I also notice from the command line bitcoin-cli getnewaddress
can take up to 30 seconds, without any python scripts running or other in-progress RPC calls.
I thought bitcoind is just retrieving a new address from wallet.dat, what is taking so long? It's not decrypting the wallet, it's not generating a whole new address from entropy... yet this specific RPC call is causing me lots of downstream problems.
dumpwallet
works instantly.