node.js-如何连接到在Docker容器中运行的比特币测试网
我正在测试一些与比特币相关的代码,为了测试它已在docker容器中安装了bitcoin-testnet-box. 运行正常,在容器中,我可以执行命令并查看结果. Dockerfile是exposing port 19001,我将其映射到端口49155作为bitcond实例之一的RPC端口,并且尝试使用node-bitcoin与之通信. 我写了一个简单的测试,目的只是为了解决当前的困难.
失败(请参见下面的更新),并显示以下错误: {[错误:连接ECONNREFUSED] 快速浏览docker ps显示
我尝试将主机更改为“ localhost”和“ 0.0.0.0”,但结果相同. 显然,我缺少一些简单的东西,因为node-bitcoin tests并没有做任何不同的事情. 用于运行bitcoin-testnet-box的命令为
我可能做错了什么? 更新资料 我按照以下建议更改了bitcoin.conf,现在错误消息为
我的bitcoin.conf看起来像
另一个更新 值得解释的是,我正在使用boot2docker在Mac上运行docker,所以我指的IP地址是运行docker ip时显示的IP,而不是Mac本身的IP.我正在Mac上使用NodeJS运行测试,而不是在boot2docker VM或实际Docker容器中运行测试.因此,我也尝试将rpcallowip = 192.168.1.4(其中192.168.1.4是我的Mac的IP)添加到我的bitcoind.conf文件中,以防万一. las没什么关系,我仍然收到{[错误:无效的参数,响应状态代码:403]代码:-32602}响应. 我还根据bitcoin.conf文件中的内容对我的用户名和密码进行了三重检查. 根据克里斯·麦金纳尔的建议,我在docker容器中运行了netstat -tunlp,它显示:
所以我也将rpcallowip = 0.0.0.0添加到了我的bitcoin.conf文件中. las仍然没有区别. 终于解决了 再次感谢Chris McKinnel,通过设置rpcallowip = *可以解决此问题.当然,这提出了一个新的问题,但是当我到达那座桥时,我会把它烧掉.现在,我可以很高兴地测试我的比特币过程. 最佳答案
我认为您需要将rpcallowip = 192.168.59.103添加到节点的两个bitcoin.conf文件中.默认情况下,bitcoind将仅侦听localhost上的RPC连接(根据the docs).
将IP添加到允许列表后,您可以通过执行telnet 192.168.59.103 19001来检查其是否起作用. 要查看您的PC打开端口的列表(以及它们从何处接受连接),请执行netstat -tunlp. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |