我在跑 bitcoind 在一台机器上,并希望从另一台机器上控制它(使用 python 和 JSON RPC 接口)。

~/.bitcoin/bitcoin.config 在bitcoind主机(192.168.2.4)上:

rpcuser=xxx
rpcpassword=xxx
gen=1
rcpallowip=127.0.0.1
rcpallowip=192.168.2.6   # This is the other machine
paytxfee=0.01

现在,我开始 bitcoind -daemon, ,但是我的 python 程序失败了

IOError: [Errno socket error] [Errno 111] Connection refused

在bitcoind主机上,ps -nlp显示bitcoind正在监听127.0.0.1:8332,而不是0.0.0.0:8332(这是我所期望的)。Wireshark 显示对 TCP 连接尝试的 RST、ACK 响应,这似乎是合乎逻辑的。

我缺少什么?

有帮助吗?

解决方案

尝试 rpcallowip,而不是 rpcallowip :)

其他提示

刚刚遇到了同样的问题。

通过设置解决

rpcallowip=*

在比特币.conf中

看一下 https://en.bitcoin.it/wiki/Enabling_SSL_on_original_client_daemon

你确定吗 bitcoind 也不在 0.0.0.0 上监听吗?在此处全新安装时,它正在监听 0.0.0.0:8333

$ sudo netstat --ip -lpa|grep bitcoin
tcp        0      0 localhost:8332     *:*       LISTEN      2909/bitcoind       
tcp        0      0 *:8333             *:*       LISTEN      2909/bitcoind      

另外,什么是 nmap 来自192.168.2.6 说什么?

请使用以下设置。

至于http/https rpc请求。

rpcport=8332  #8331 will be nice.

至于流程。

port=8332

提醒:

第一:这两个设置不应该相同。

第二:由于更改了conf 文件,您应该重新启动bitcoind 进程。

只需更新您的 bitcoin.conf 文件

  • 使用 rpcport = 8332 rpcconnect = 127.0.0.1

rpcallowip=*
这不是一个好主意,因为它向所有人开放。因此,如果您想要特定的 IP 和端口,请编辑您的 coin.conf 文件
rpcallowip = 你的ip;//(默认 = 127.0.0.1
rpcport = 你的端口;//(默认=8332)

通过设置解决

rpcallowip=0.0.0.0/0

在比特币.conf中

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top