通过 Websocket 或 HTTP 连接到 VPS 上的 BSC 节点 运行
Connect to BSC Node running on VPS via Websocket or HTTP
我已经按照此处的文档在 BSC 上设置了自己的节点 - https://docs.binance.org/smart-chain/developer/fullnode.html
我遇到的问题是我无法通过 Web3 连接到节点。
尝试使用
连接时
web3 = Web3(Web3.WebsocketProvider('ws://[server-ip]:8545'))
print('ws - ' + str(web3.isConnected()))
我的输出是false
当运行我使用的节点:
./geth --config ./config.toml --datadir ./mainnet --ws --ws.port=8545 --ws.origins='*'
我尝试了多种配置组合来使它正常工作,但没有成功。通常,我会尝试通过网络套接字进行连接,但如果需要的话,我很乐意使用 HTTP 提供商进行连接。
查看 netstat --listen --tcp
输出,当节点为 运行:
时我得到了这个
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:8545 0.0.0.0:* LISTEN
tcp 0 0 localhost:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:30311 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
有人知道我缺少什么吗?
经过大量研究,我发现处理此问题的最佳方法是 运行 Nginx 代理。
以下是我为任何正在寻找类似问题的解决方案的人所遵循的说明
我已经按照此处的文档在 BSC 上设置了自己的节点 - https://docs.binance.org/smart-chain/developer/fullnode.html
我遇到的问题是我无法通过 Web3 连接到节点。
尝试使用
连接时web3 = Web3(Web3.WebsocketProvider('ws://[server-ip]:8545'))
print('ws - ' + str(web3.isConnected()))
我的输出是false
当运行我使用的节点:
./geth --config ./config.toml --datadir ./mainnet --ws --ws.port=8545 --ws.origins='*'
我尝试了多种配置组合来使它正常工作,但没有成功。通常,我会尝试通过网络套接字进行连接,但如果需要的话,我很乐意使用 HTTP 提供商进行连接。
查看 netstat --listen --tcp
输出,当节点为 运行:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 localhost:8545 0.0.0.0:* LISTEN
tcp 0 0 localhost:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* LISTEN
tcp6 0 0 [::]:30311 [::]:* LISTEN
tcp6 0 0 [::]:ssh [::]:* LISTEN
有人知道我缺少什么吗?
经过大量研究,我发现处理此问题的最佳方法是 运行 Nginx 代理。
以下是我为任何正在寻找类似问题的解决方案的人所遵循的说明