以太坊私链连接钱包报错解决汇总
关键词
- 虚拟机
- MetaMask
- 私有链
- rpc
- 以太坊
问题简述
区块链私链搭建完成之后,连接虚拟机上的私链与MetaMask钱包过程调试问题解决,主要包括
-
以太坊命令行不识别–rpc
-
无法获取链 IC,您的 RPC URL 地址是正确的么?
-
RPC端点使用链不同的链XXXX
问题1
使用如下含有rpc的命令启动私有链
geth --datadir . --rpc -rpcapi "eth,web3,miner,admin,personal,net" --rpccorsdomain "*" --nodiscover --networkid 15
虚拟机中的ETH命令行不识别–rpc
原因
之前版本中geth需要使用--rpc
连接本地网络,在新版本中则采用了--http
,具体参考geth官方文档
含有这种写法的文章比较久,现在连接命令有所更改,这是按照了较新版的命令行但是参考了较老的教程导致的
更改
geth --datadir data --networkid 1330 --http --http.corsdomain="*" --http.port 8545 --http.api db,web3,eth,debug,personal,net,miner,admin --allow-insecure-unlock --rpc.allow-unprotected-txs --port 30303 --dev --dev.period 1 console 2>>geth.log
使用该命令启动,虚拟机内的客户端成功启动
问题2
无法获取链 IC,您的 RPC URL 地址是正确的么?
确定在如下空格中填入了正确的新增RPC URL 与 链ID
- 使用
ip a
查询虚拟机ip地址
-
新增RPC URL填写格式如下
原因
在启动eth私有链的时候缺少参数,导致钱包无法正常连接
更改
加上--http.addr "0.0.0.0"
与--http.port 8545
geth --datadir data --networkid 1330 --http --http.corsdomain="*" --http.port 8545 --http.addr "0.0.0.0" --http.api db,web3,eth,debug,personal,net,miner,admin --allow-insecure-unlock --rpc.allow-unprotected-txs --port 30303 --dev --dev.period 1 console 2>>geth.log
可能没有人的启动参考文章不同,对照上述检查一下,当然上述命令中有一些是可选项
问题3
通过上述更改启动,保存失败
报错如下:
更改
chain id返回的不是1330,则将chainid设置成其返回值即可
连接成功
上述总结了在以太坊私链连接MetaMask的时候常见的三个问题,当然肯定不会全面概况遇见的所有问题,希望下面几篇文章能有所帮助
很多CSDN中关于该问题的相关博客,要么用处不大,要么版本较老,以下列出几个可以具体参考的不错文章
版权声明:本文为m0_52739647原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。