题
我在跑 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中