Не удается установить соединение BITCOIND RPC, работающее в Ubuntu 12.04 или Windows 7

ОК, недавно я писал о попытке получить помощь в подключении к BITCOIND с помощью Ubuntu или Windows 7.

В Ubuntu (виртуальная машина под Win7 64bit) 12.04 Desktop LTS в моем файле BITCOIN.CONF, расположенном в $HOME/.bitcoin, написано следующее:

server=1
rpcuser=hello1
rpcpassword=12345
rpcallowip=*

Я запускаю BITCOIND с помощью следующей команды:

./bitcoind --server --rpcuser=hello1 --rpcpassword=12345

Но когда я пытаюсь подключиться с помощью скрипта Ruby (см. https://bitcointalk.org/index.php?topic=85495.msg3773215#msg3773215 ), он выдает ошибку о том, что не может подключиться.

Аналогичным образом, в Windows 7 я пытаюсь выполнить ту же процедуру, и с помощью приложения NIRSOFT cports я вижу, что демон Биткойн открывается только через порт 8333, а не 833 * 2 *, как можно было бы ожидать, если бы соединение RPC было активным.

Я открыл порт TCP/UDP 8332-8333 в переадресации портов маршрутизатора.

Что я здесь делаю не так? Почему я не могу подключиться к биткойн-демону через RPC?

==> ДОПОЛНИТЕЛЬНЫЙ ВОПРОС: я новичок в Ubuntu; как проверить открытые порты TCP на терминале в Ubuntu? (эквивалент netstat в Windows)

Дополнительный вопрос: найдите, пожалуйста, другой форум, где вы, скорее всего, услышите lsof -i.

Ответы (3)

Я не знаком с тем, как запустить его в Windows, но для Ubuntu 12.04 я могу помочь вам сначала удалить мусор из файла conf, который должен находиться в папке ~/.bitcoin с именем bitcoin.conf, со следующим текстом:

server=1
daemon=1
rpcuser=whatever
rpcpassword=whatever

^^ достаточно

теперь, чтобы сделать биткойн для ответа на вызовы RPC, у вас должны быть файлы jsonRPCClient на вашем компьютере. Я не знаком с рубином, но все же https://github.com/Textalk/json-rpc-client-ruby эта ссылка может дать вам представление о том, как сделать это. Я надеюсь, что это поможет вам достичь того, что вы ищете. И бонусный ответ на Linux, вы можете использовать netstat -ntpl, чтобы получить подробное представление о том, какая программа использует какой порт.

Netstat(1) выдаст вам открытые порты (в данном случае прослушивающие TCP-порты): netstat -lnt.

Чтобы убедиться, что вы знаете, какой порт использует ваш демон bitcoind, запустите его с параметром -rpcport. В вашем примере используйте именно -rpcport=8332, а затем используйте тот же порт при подключении к нему.

порт 8332 НЕ ОТКРЫТ. Может ли кто-нибудь ПОЖАЛУЙСТА помочь мне здесь? Где не так?!?!
Попробуйте использовать только rpcuser, rpcpassword и server. Не указывайте rpcallowip (по умолчанию будет 127.0.0.1).

RPC API QT по умолчанию настроен на прослушивание TCP-порта 8332.

Удалите все из вашего bitcoin.conf и оставьте только: rpcuser=hello1 rpcpassword=12345

Поскольку вы указали параметры rpcuser и rpcpassword в файле bitcoin.conf, вам не нужно явно указывать их в команде инициализации bitcoind (вам нужно будет отправить их из вашего клиента после запуска демона).

В командной строке запустите: bitcoind.exe -daemon -debugnet -printtoconsole, а затем откройте новую командную строку и введите: netstat -a , как только RPC API прослушивает соединения, вы должны увидеть следующее: TCP 127.0.0.1:8332 myHostName :0 ПРОСЛУШИВАЮ

Обратите внимание, что rpcallowip=* подвергает риску ваш сервер, поэтому я настоятельно рекомендую вам немедленно прекратить его использование.