【问题标题】:How to find erc20 tokens balance如何查找erc20代币余额
【发布时间】:2021-08-31 11:36:22
【问题描述】:

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

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

Ether Scan token check

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

【问题讨论】:

    标签: ethereum cryptocurrency erc20 etherscan


    【解决方案1】:

    ERC-20(和ERC-20-like如TRC-20、BEP-20等)每个地址的代币余额存储在代币的合约中。

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

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

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

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

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

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

        【讨论】:

          猜你喜欢
          • 2022-12-23
          • 2019-12-15
          • 2021-04-26
          • 2021-07-28
          • 2018-09-10
          • 2022-11-16
          • 1970-01-01
          • 1970-01-01
          • 2020-01-23
          相关资源
          最近更新 更多