Bitcoind
為什麼 getNewAddress 需要這麼長時間?經常超時 python-bitcoinrpc
Raspberry Pi 2 上的比特幣 0.11:
<https://github.com/jgarzik/python-bitcoinrpc>
我正在使用這個 RPC 身份驗證代理從 Python 與 bitcoind 交談。
getmempoolinfo
我有一個每 1 秒請求一次的腳本。偶爾給使用者輸入一個新地址是需要的,並且腳本請求getnewaddress
. 此 RPC 呼叫經常超時。有時超時會在其他 RPC 呼叫中導致更奇怪的行為,直到 python 被中斷並且腳本被殺死:例如,
getmempoolinfo
每次呼叫它都返回相同的資訊,直到腳本重新啟動。即使在單獨的終端視窗中從命令行查詢 bitcoind 也表明記憶體池bitcoin-cli getmempoolinfo
根本沒有增長,直到超時呼叫的腳本getnewaddress
終止。
bitcoin-cli getnewaddress
我還注意到,在沒有執行任何 python 腳本或其他正在進行的 RPC 呼叫的情況下,命令行最多可能需要 30 秒。我以為 bitcoind 只是從 wallet.dat 中檢索一個新地址,為什麼要花這麼長時間?它沒有解密錢包,也沒有從熵中生成一個全新的地址……但是這個特定的 RPC 呼叫給我帶來了很多下游問題。
該問題與 CPU 優先級過高的電腦上的其他程序有關:
<https://raspberrypi.stackexchange.com/q/42474/39301>