Metamask

在嘗試獲取元遮罩中的 eth 餘額時,不斷收到“MetaMask - RPC 錯誤:所需參數 1 的缺失值”錯誤

  • February 19, 2022

我在這裡嘗試通過“eth_getBalance”方法使用我的 checkEthBalance 函式在 Metamask 中獲取我的帳戶餘額。

let accounts;
let balance;

const connectWallet = async () => {
 console.log("connect wallet");

 if (window.ethereum) {
   try {
     accounts = await window.ethereum.request({
       method: "eth_requestAccounts",
     });
   } catch (err) {
     console.log(err);
   }
 }

 console.log(accounts);
};

const checkEthBalance = async () => {
 if (window.ethereum) {
   balance = await window.ethereum
     .request({
       method: "eth_getBalance",
       params: [accounts[0]],
     })
     .catch((err) => console.log(err));

   console.log("Eth Balance", balance);
 }
};

但我不斷收到此錯誤:

MetaMask - RPC 錯誤:所需參數 1 的缺失值 {程式碼:-32602,消息:‘所需參數 1 的缺失值’}

我錯過了什麼?

您需要該"eth_getBalance"方法的另一個參數。

//Require block number or string: "latest", "earliest" or "pending"
params: [accounts[0],"latest"]

注意:返回的值將是 in gwei,因此您可能需要通過 ethers.js 中的 utils 或其他方法將其轉換為 ETH。

引用自:https://ethereum.stackexchange.com/questions/122012