如何通过JSON RPC从以太坊交易详情识别Token类型
如何通过以太坊JSON RPC响应判断交易对应的Token类型
针对你提供的交易响应,可通过以下步骤判断Token类型:
第一步:提取Token合约地址
交易响应中的to字段就是该Token的合约地址,这里对应的地址是0xedb171c18ce90b633db442f2a6f72874093b49ef。ERC20类Token的转账交易,to字段指向的是Token合约,而非接收用户的地址(接收地址会藏在input数据中)。第二步:调用合约方法获取Token标识
利用JSON RPC的eth_call方法,调用该Token合约的标准ERC20只读方法,获取symbol(代币符号)或name(代币名称):- 获取代币符号的请求示例:
其中{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xedb171c18ce90b633db442f2a6f72874093b49ef","data":"0x95d89b41"}],"id":1}0x95d89b41是ERC20标准方法symbol()的函数签名。 - 获取代币名称的请求示例:
其中{"jsonrpc":"2.0","method":"eth_call","params":[{"to":"0xedb171c18ce90b633db442f2a6f72874093b49ef","data":"0x06fdde03"}],"id":1}0x06fdde03是ERC20标准方法name()的函数签名。 - 解析响应:将返回的十六进制结果转换为ASCII字符串,即可得到如
USDT、USDC这类Token标识。
- 获取代币符号的请求示例:
额外验证:确认是ERC20转账交易
交易响应的input字段前8位是0xa9059cbb,这是ERC20标准transfer(address,uint256)方法的函数签名,说明这确实是一笔ERC20 Token转账交易。
内容的提问来源于stack exchange,提问作者StormyTalent
相关产品推荐
相关产品推荐

