Remix 使用Web3 Provider连接不上 Geth
环境Remix :Win10中 Chrome浏览器打开Remixhttps://remix.ethereum.org/Geth(版本1.10.16):运行在VMware中Centos虚拟机中操作时间:2022-03-24问题在使用Remix中Web3 Provider连接Geth私链时,一直连接不成功。虚拟机中Geth启动命令:geth --datadir data --networkid 18
环境
Remix :Win10中 Chrome浏览器打开Remix https://remix.ethereum.org/
Geth(版本1.10.16):运行在VMware中Centos虚拟机中
操作时间:2022-03-24
问题
在使用Remix中Web3 Provider连接Geth私链时,一直连接不成功。
虚拟机中Geth启动命令:
geth --datadir data --networkid 18 --http --http.corsdomain "*" --http.addr "0.0.0.0" --http.vhosts "*" --http.port 8545 --http.api db,web3,eth,debug,personal,net,miner,admin --rpc.allow-unprotected-txs --allow-insecure-unlock --port 30303 console 2> 1.log
Win10中能ping通虚拟机中的IP地址并且能telnet通端囗。
连接时配置如下:
此时会在Remix左下角出现错误提示:
解决问题过程(费时)
网上查到一种解决方案,将Remix的https访问(https://remix.ethereum.org/)改成http访问(http://remix.ethereum.org/),尝试此方法,但是仍没成功。这种方法可能在某个时间段内是可以的,但是现在不可以了。
当然也尝试了启动Geth方式及修改各种配置和参数,仍无结果。最后请教了我的老师,提供了2种方法。
终极解决
1、解决方案一
连接不成功,可能是Remix升级了之后做了限制。因此在虚拟机Centos中的图形界面,使用Chrome浏览器打开Remix(https访问),通过 Web3 Provider 配置 Endpoint 为http://127.0.0.1:8545 连接成功,成功后如下图所示:
此方案Remix的访问与Geth的部署同在一个虚拟机中。
2、解决方案二
(1)使用Metamask浏览器钱包连接虚拟机中的Geth,步骤如下面两图所示:
(2)Remix使用Injected Web3连接Metamask钱包中的Geth
此方法是Remix借助Metamask钱包跳转到Geth,实现了Win10中的Remix连接上虚拟机中的Geth。
更多推荐
所有评论(0)