【问题标题】:web3 - get count of erc20 tokens from an addressweb3 - 从地址获取 erc20 代币的数量
【发布时间】:2018-08-01 06:29:50
【问题描述】:

在 etherscan 上,Token Trackr 部分中的 View Tokens 下拉列表列出了该地址有多少不同的 ERC20 代币以及数量,这是如何完成的?

我在这里或网络上找不到很多教程或文章。

【问题讨论】:

标签: web3js web3


【解决方案1】:

他们可能只是在自己的数据库中从区块链收集数据,并将其整理到用户友好的 UI 中。


[编辑 1]

使用web3js,您必须为每个令牌手动执行此操作,如下所示:

var MyContract = web3.eth.contract(abiArray);

// instantiate by address
var contractInstance = MyContract.at(address);

contractInstance.balanceOf(my_address, function(error, success){
   if(error) console.log ("Something went wrong: " + error);
   else console.log ("Balance: " + success.toString(10)); 
});

【讨论】:

  • 他们用什么从区块链收集信息?
  • @totalnoob 他们只有自己的节点和像 geth 这样的以太坊客户端。
  • 啊,我的错。我的意思是使用 web3,而不是solidity。改了标题
  • @totalnoob 您只需要获取令牌地址和 abi。之后,您将拥有 ERC20 代币的所有接口,您需要调用contractInstance.balanceOf(my_address)
  • 我会向您推荐我的库 npmjs.com/package/erc20-contract-js - 用于操作 ERC-20 代币合约的简单 JS 库。要接收多个 ERC20 代币的代币余额,您只需为每个代币创建一个 ERC20Contract 实例,然后调用函数 balnaceOf。
猜你喜欢
  • 2021-07-28
  • 2020-07-24
  • 2021-08-06
  • 2018-08-08
  • 2021-09-06
  • 2021-10-08
  • 2018-11-07
  • 2021-09-23
  • 2021-06-24
相关资源
最近更新 更多