我收到此错误:
CONNECTION ERROR: Couldn't connect to node http://localhost:8545, is it running?
我目前正在尝试将 Meteor 应用程序与私有测试网络上的节点一起使用。我还尝试在真实网络上的真实节点上运行它。我能够访问 web3.eth 对象,但我似乎无法连接到我的节点!真是令人沮丧!
我的应用程序运行于http://本地主机:3000 http://localhost:3000
我在启动节点时尝试了以下操作,但它们都不起作用(它们启动正常,但我无法通过浏览器连接到它们):
geth --networkid 8545 --genesis ~/genesis_block.json --datadir ~/.ethereum_experiment console
geth --rpccorsdomain "*" --rpc --networkid 8545 --minerthreads "1" --datadir ~/.ethereum_experiment --mine
这是我在浏览器控制台中设置提供程序的方法:
web3.setProvider(new web3.providers.HttpProvider("http://localhost:8545"));
我想当我尝试在虚拟机中运行 geth 时,我遇到了同样的错误。在这种情况下,问题在于 RPC 仅监听本地主机。使用 --rpcaddr "0.0.0.0" 将其绑定到所有地址解决了问题:
geth --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --nodiscover --networkid "$NETWORKID" --datadir ~/.ethereum_experiment --genesis ~/genesis_block.json
这里需要注意的重要一点是,通过这样的配置,如果端口不在专用网络上或不受防火墙保护,则端口将对来自外界的连接开放。
您还可以通过尝试使用 telnet 连接来检查 RPC 端口是否打开:
telnet localhost 8545
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)