Go-Ethereum
將託管在雲上的 dApp 與本地執行的 Geth 連接起來
我的 dApp 在 AWS 上執行,Geth 在本地執行。我應該如何將我的託管 dApp 與 Geth 連接起來?
我正在使用電腦的(Windows 作業系統)IP 地址連接我的 web3(使用 web3.py)。
web3 = Web3(Web3.HTTPProvider("http://xx.xx.xx.xx:8545"))
埠 8545 也已通過防火牆埠打開。
使用執行我的 Geth 節點
geth --datadir ./Doc-Nodes --networkid 4780 --rpc --rpcapi "db,personal,eth,net,web3,debug,admin" --rpccorsdomain="*" --rpcaddr="0.0.0.0" --rpcport 8545 --allow-insecure-unlock console
但是在向 dApp 發送請求時,我總是遇到錯誤。
requests.exceptions.ConnectTimeout: HTTPConnectionPool(host=‘xx.xx.xx.xx’, port=8545): 最大重試次數超過 url: / (由 ConnectTimeoutError(urllib3.connection.HTTPConnection object at) 引起
我應該如何連接兩者?我對應該在 web3 連接中提供什麼 IP 以及 rpc 地址感到困惑。
謝謝。
--rpcvhosts *
你也需要通過
您可以嘗試在具有您財產的公共 IP 的主機上使用反向 ssh 連接,或者使用 ngrok 進行反向 ssh。
主機=公共IP
$ssh -R 8545:localhost:<port> user@<host> $ngrok tcp 8545 web3 = Web3(Web3.HTTPProvider("http://<host>:<port>")) //or ngrok link connection with port