如何通过ERC-20代币地址获取对应代币的详细信息
代币类型查询方案
你要的代币类型完全可以直接通过链上交互获取,不需要依赖第三方平台的查询能力,核心逻辑是校验代币合约是否符合对应标准的接口规范:
- 对于ERC721、ERC1155这类后续推出的标准,直接调用合约的
supportsInterface方法即可验证:- ERC721标准的接口ID为
0x80ac58cd,调用返回true即可判定为NFT类的ERC721代币 - ERC1155标准的接口ID为
0xd9b67a26,调用返回true即可判定为多资产类的ERC1155代币
- ERC721标准的接口ID为
- 对于ERC20这类早期没有强制要求实现
supportsInterface的标准,可以通过批量调用name()、symbol()、decimals()、totalSupply()、balanceOf()这几个核心方法判断,所有方法都能正常返回符合规则的结果即可判定为ERC20代币 - 仅当你需要获取代币的安全标签、持币分布、社交信息等链上不存在的扩展数据时,才需要调用第三方索引API
- 实操注意先校验目标地址为合约地址,避免对普通外部钱包地址发起合约调用导致异常
内容的提问来源于stack exchange,提问作者Matg
相关产品推荐
相关产品推荐

