问题以太坊私链连接钱包报错解决汇总

Posted Cookieer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了问题以太坊私链连接钱包报错解决汇总相关的知识,希望对你有一定的参考价值。

以太坊私链连接钱包报错解决汇总

关键词

  • 虚拟机
  • 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中关于该问题的相关博客,要么用处不大,要么版本较老,以下列出几个可以具体参考的不错文章

以上是关于问题以太坊私链连接钱包报错解决汇总的主要内容,如果未能解决你的问题,请参考以下文章

docker 部署以太坊私链v1.10.5

docker 部署以太坊私链v1.10.16版本

c#实战开发:用.net core开发一个简单的Web以太坊钱包

geth控制台操控以太坊私链挖矿

CentOS 7环境下 使用geth搭建以太坊私链

区块链学习--win10下构建以太坊私链