0

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

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

以太扫描令牌检查

为了阐明我的目的,在 TRC20 网络中,我使用了这个端点 ,并且响应中有一组 TRC20 代币余额。

4

3 回答 3

2

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

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

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

于 2021-06-15T16:08:45.333 回答
1

您可以使用一个简单的 Covlanet API 调用来调用它: https ://www.covalenthq.com/docs/api/#get-/v1/{chain_id}/address/{address}/balances_v2/

如果要切换到任何其他网络,只需更改chain_id

于 2021-10-22T03:39:17.037 回答
0

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

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

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

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

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

去:https ://gist.github.com/arshamalh/9fe035f7fe18cb5387737546ef84bf6c

于 2021-06-19T07:48:31.857 回答