Биткойн 0.11 на Raspberry Pi 2:
https://github.com/jgarzik/python-bitcoinrpc
Я использую этот прокси-сервер аутентификации RPC для общения с биткойнами из Python. У меня есть скрипт, который запрашивает getmempoolinfo
каждую секунду. Иногда при вводе пользователем требуется новый адрес, и скрипт запрашивает getnewaddress
. Время ожидания этого вызова RPC часто истекает.
Иногда тайм-аут вызывает еще более странное поведение в других вызовах RPC, пока python не будет прерван и скрипт не будет убит: например, getmempoolinfo
возвращает одну и ту же информацию каждый раз, когда он вызывается, пока скрипт не будет перезапущен. Даже запрос bitcoind из командной строки в отдельном окне терминала bitcoin-cli getmempoolinfo
указывает на то, что мемпул вообще не растет до тех пор, пока не завершится скрипт, вызвавший тайм-аут getnewaddress
.
Я также заметил, что из командной строки bitcoin-cli getnewaddress
может потребоваться до 30 секунд без запуска каких-либо сценариев Python или других текущих вызовов RPC.
Я думал, что биткойн просто получает новый адрес из wallet.dat, что так долго? Это не расшифровка кошелька, это не генерация совершенно нового адреса из энтропии... тем не менее, этот конкретный вызов RPC вызывает у меня много проблем с нисходящим потоком.
Проблема связана с другими процессами на компьютере со слишком высоким приоритетом процессора:
Питер Уилле
булавочная головка
булавочная головка
dumpwallet
работает мгновенно.Питер Уилле
булавочная головка
Марч
булавочная головка
Марч
булавочная головка
getnewaddress
тайм-аут — даже до 45 минут! Я использую GPIO Pi для управления светодиодной матрицей.Марч