这里使用了一个开源项目:https://github.com/rvullriede/evm-abi-decoder
在pom中添加依赖即可:
<dependency>
<groupId>net.osslabz.evm</groupId>
<artifactId>evm-abi-decoder</artifactId>
<version>0.0.6</version>
</dependency>
这个jar需要jdk11,想使用jdk8的同学可以把项目中net.osslabz.evm.abi.definition.AbiDefinition#fromJson(java.lang.String) 的入参 Files.readString(Path.of(abiFilePath)) 改一下,这个Files.readString(Path.of(abiFilePath)) 方法只有jdk11有,是读取文件中所有内容为一个string,可以自己实现下。
示例:
package com.mathieu.blockchain;
import com.alibaba.fastjson.JSONObject;
import net.osslabz.evm.abi.decoder.Abi

文章展示了如何利用开源项目evm-abi-decoder解析以太坊智能合约的输入数据。在依赖该项目时,注意到它需要JDK11,但提供了针对JDK8的修改建议。通过示例代码,解释了如何解码ERC20代币的输入数据,强调了获取ABI信息的重要性,并提供了查询ABI的API链接。
最低0.47元/天 解锁文章
1916

被折叠的 条评论
为什么被折叠?



