尝试编写web3 rpc balanceof以获取用户元掩码smartcontract令牌平衡时遇到问题

holgip5t  于 2021-09-13  发布在  Java
关注(0)|答案(0)|浏览(208)

我一直在尝试使用新的json rpc方法https://docs.metamask.io/guide/rpc-api.html#ethereum-json rpc方法创建一个简单的网页,该网页可以返回metamask帐户中erc20智能合约的令牌余额。
我只能成功地检索以太坊的余额(使用以下代码)

try {
     balance = await ethereum
    .request({
      method: 'eth_getBalance',
      params: [address,"latest"],
    })
    // covert to readable format (account for decimals)
     read = parseInt(balance) / 10**18; // will need change based on what token
    console.log( "Smart Contract Token Balance:" + read.toFixed(5) );

  } catch (error) {
    console.log(error);
  }

当然,上面返回的是地址的以太坊金额。
在我的一生中,我一直无法使用新的json rpc方法来计算这个版本,也没有看到任何调用智能合约方法(如“balanceof”)的示例:

var contract = new web3.eth.Contract(theAbi, theTokenAddress);

  balance = await contract.methods.balanceOf(theTokenAddress).call().then(console.log);

我已经被困在这个问题上好几个星期了,作为一个兼职项目,好吧,任何我想做的事情都是基本的——我只是第一次在stackoverflow上设置了一个帐户来发布。非常感谢。
另外请注意,我正在链接此版本的web3https://cdn.jsdelivr.net/npm/web3@最新/dist/web3.min.js

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题