微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何找到erc20代币余额

如何解决如何找到erc20代币余额

我正在尝试查找特定地址的 erc20 代币(例如 Tether)的余额。

实际上,我希望找到一个像下面这样工作的 API,获取账户地址和合约地址,并返回特定代币的余额。

Ether Scan token check

为了阐明我的目的,在 TRC20 网络中,我使用 this endpoit 并且响应中有一组 trc20 代币余额。

解决方法

ERC-20(以及类似 ERC-20,例如 TRC-20BEP-20 等)的每个地址的代币余额存储在代币的合约中。

Trongrid 使用一个单独的数据库来汇总整个 Tron 网络历史中所有 Transfer() 事件(在 ERC-20 标准中定义)的代币余额。 ERC-20 代币可能有类似的第三方服务,但我不知道。例如,Etherscan 确实具有相同的信息,但它们仅在地址 detail 页面上显示它,并且它们不提供包含此数据的 API。

为了获得一个地址的所有 ERC-20 代币余额,最简单的解决方案(除了找到一个与 Trongrid 端点做同样事情的 API)是遍历所有代币合约(或者只是你'感兴趣),并调用他们的 balanceOf(address) 函数。

,

在以太坊中,没有像 Trongrid 这样的内置 API 来检索某些帐户的代币余额。

如果你想这样做,你必须调用智能合约代币的“balanceOf”方法。

Infura API 有一个 eth_call method 来执行此操作。

调用这个 API 有点棘手,为此我在 JS 和 Go 中编写了两个代码片段。

JS:https://gist.github.com/arshamalh/33e6646eb793997f2cc69668bd97010a

开始:https://gist.github.com/arshamalh/9fe035f7fe18cb5387737546ef84bf6c

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?