在尝试编写web3 RPC BalanceOf以获取用户元任务智能合约令牌余额时陷入困境



我一直在尝试使用新的JSON RPC方法https://docs.metamask.io/guide/rpc-api.html#ethereum-json-rpc方法创建一个简单的网页,该网页可以在元任务帐户中返回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方法来计算这个版本,也没有看到任何调用智能合约方法的例子,比如";平衡":

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

简单的答案是从客户端获取用户帐户地址,然后从服务器端检索您感兴趣的任何令牌的帐户余额。

相关内容

  • 没有找到相关文章