以太坊私鏈連接錢包報錯解決匯總
關鍵詞
- 虛擬機
- 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中關于該問題的相關博客,要么用處不大,要么版本較老,以下列出幾個可以具體參考的不錯文章
- ubuntu虛擬機搭建geth私有鏈并通過metamask連接
-
【以太坊】私鏈賬戶下智能合約的部署與呼叫——使用Remix、Golang、Geth
-
區塊鏈以太坊學習筆記(其中的Bug筆記為本文解決方案主要參考文章)
-
metamask連接不上本地私有節點,報錯“無法獲取鏈 IC,您的 RPC URL 地址是正確的么”
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/400642.html
標籤:區塊鏈
