获取以太坊ERC-20令牌信息的正确途径

时间:2018-05-07 21:26:22

标签: token ethereum web3js erc20

有人可以告诉我从以太坊区块链获取ERC-20令牌的信息(小数计数,名称和符号)的正确方法吗? 我认为它可以通过适当的函数decimals(),name(),symbol()调用精确令牌的合同地址通过ABI构造(如果用户web3js库)来完成。在许多情况下,它可以这样做。但不幸的是,并非所有情况都是如此。例如,有一个带地址的令牌: 0xb5a5f22694352c15b00323844ad545abb2b11028 如果我们在etherscan的网页上阅读有关此令牌的合同信息,那么合同中的公共变量名称,符号和小数都没有写入任何信息: https://etherscan.io/address/0xb5a5f22694352c15b00323844ad545abb2b11028#readContract 但是etherscan知道这个令牌的名称和符号(ICON(ICX))。此外,还有另一个网站可以获取有关此令牌的小数计数信息: https://api.ethplorer.io/getTokenInfo/0xb5a5f22694352c15b00323844ad545abb2b11028?apiKey=freekey 所以问题是:是否有通用区块链调用获取精确令牌(例如0xb5a5f22694352c15b00323844ad545abb2b11028)的小数,名称和符号的通用方法?以及etherscan和ethplorer.io网站如何处理此类计算? 希望有人可以帮我解决问题。提前谢谢!

1 个答案:

答案 0 :(得分:0)

The token provider interface spec说这3种方法是可选的。这意味着您不能期望每个令牌合同都能实现这些。我想你必须有那些与标准不兼容的合同的解决方法。

对于https://etherscan.io/address/0xb5a5f22694352c15b00323844ad545abb2b11028#readContract,如果您查看源代码,合同名称为contract IcxToken,这至少有一种方法可以识别它。