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

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

关键词

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

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要搭建本地以太坊私链连接钱包实现转账,你需要按照以下步骤进行操作: 1. 安装以太坊客户端软件,比如 Geth、Parity、Quorum 等。 2. 创建私有网络,可以使用以下命令: ``` geth --datadir=./chaindata init ./genesis.json ``` 其中,`./chaindata` 是指定数据目录,`./genesis.json` 是指定创世区块文件。 3. 启动私有网络,可以使用以下命令: ``` geth --datadir=./chaindata --networkid=8888 --rpc --rpcaddr "0.0.0.0" --rpcport 8545 --rpcapi="eth,net,web3,personal" console ``` 其中,`--networkid` 是指定网络 ID,`--rpc` 是启用 JSON-RPC 接口,`--rpcaddr` 是指定 JSON-RPC 接口的 IP,`--rpcport` 是指定 JSON-RPC 接口的端口号,`--rpcapi` 是启用 JSON-RPC 接口的 API 列表。 4. 创建钱包地址,可以使用以下命令: ``` personal.newAccount("password") ``` 其中,`password` 是指定钱包密码。 5. 解锁钱包,可以使用以下命令: ``` personal.unlockAccount("address", "password", 0) ``` 其中,`address` 是指定钱包地址,`password` 是钱包密码,`0` 是指定解锁时间。 6. 发送转账交易,可以使用以下命令: ``` eth.sendTransaction({from:"from_address", to:"to_address", value: web3.toWei(1, "ether")}) ``` 其中,`from_address` 是发送方钱包地址,`to_address` 是接收方钱包地址,`1` 是转账金额,`ether` 是转账单位。 7. 确认交易状态,可以使用以下命令: ``` eth.getTransactionReceipt("transaction_hash") ``` 其中,`transaction_hash` 是指定交易哈希值。 以上是搭建本地以太坊私链连接钱包实现转账的大致步骤,具体操作还需要根据实际情况进行调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值