我一直在尝试使用新的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
暂无答案!
目前还没有任何答案,快来回答吧!