У меня есть демон dogecoin, успешно работающий в Ubuntu, запущенный с помощью этой команды:
dogecoind -daemon
Он прослушивает порт 22556, что подтверждается netstat.
Я также могу передавать ему команды напрямую через терминал Ubuntu, например:
dogecoind getinfo
Однако передача ему RPC-запросов через HTTP не работает. Демон не отказывается от соединения (и я могу убедиться, что он отказывается от соединения, если я использую порт, отличный от 22556); вместо этого соединение зависает, и данные не отправляются клиенту, выполняющему HTTP-запрос. Прямое подключение к
http://a:b@127.0.0.1:22556/
заставляет веб-браузер сидеть и ждать данных. Точно так же выполнение запроса RPC через PHP-скрипт, а затем доступ к этому скрипту в браузере заставляет браузер ждать 30 секунд, прежде чем PHP выдает ошибку, указывающую, что максимальное время выполнения 30 секунд было превышено.
У меня есть файл ~/.dogecoin/dogecoin.conf как таковой:
server=1
rpcuser=a
rpcpassword=b
(Я знаю, что имя пользователя и пароль, которые я ввел там, небезопасны; они временные, пока я не смогу хотя бы установить соединение.)
Я пробовал добавить строку
rpcallowip=127.0.0.1
в конец конфигурационного файла, но это никак не повлияло на поведение.
Что я делаю неправильно — почему мой демон Dogecoin не принимает RPC-запросы (или любые HTTP-запросы из реального браузера, если уж на то пошло)?
редактировать : Кроме того, я могу убедиться, что демон догнал блокчейн.
Догадаться. Это было связано с добавлением строк rpcallowip в файл конфигурации. Добавление этих трех строк решило это:
rpcallowip=127.0.0.1
rpcallowip=192.168.1.*
rpcallowip=0.0.0.0
Последняя строка - это то, что в конечном итоге позволило ему работать. Я не уверен, почему, но netstat сказал, что прослушивает 0.0.0.0:22556, поэтому добавление 0.0.0.0 в список rpcallowip решило эту проблему.
пользователь11445
Джош1миллиард