java - 我如何解码交易的输入数据?

我在 java 中使用 web3j 来获取交易的输入数据。我可以获取数据,但问题是我如何解码这些数据。

Input data: "0x070ec83b000000000000000000000000000000000000000000000000000000000000016000000000000000000000000000000000000000000000000000000000015118f200000000000000000000000000000000000000000000000000000000000001a000000000000000000000000000000000000000000000000000000000000001e00000000000000000000000000000000000000000000000000.........."

String inputdata = null;

Optional<Transaction> tx = web3.ethGetTransactionByHash(txHash).send().getTransaction();

if (tx.isPresent()) {
    inputdata = tx.get().getInput();
}

//DECODE

byte[] bytes = Hex.decodeHex(inputdata.substring(2).toCharArray());
System.out.println(new String(bytes, "UTF-8"));

当您执行代码时,您得到的是各种字符。

output

最佳答案

我对 nodeJS 不是很了解,但以下是如何在 python 中执行此操作以防万一。

txn = web3.eth.get_transaction(txHash)                                  
txnInput = routerContract.decode_function_input(txn.input) 
print(txnInput)

https://stackoverflow.com/questions/54113260/

相关文章:

python - Pygame OpenGL 3D 立方体滞后

javascript - Monaco-Editor JavaScript 关键词语法高亮

mysql - 有什么方法可以将 MySQL 转储转换为 YAML Alice Fixtures

python - Tensorflow 中线程安全图的使用

amazon-web-services - AWSLambdaClient 调用给出异常 : com

html - 在本地和网络上都有效的 HTML 站点中的根目录相关链接

python - 如何通过 odoo 中的 xmlrpc 为产品提供批号/序列号

java - 接受多部分文件的 DELETE 方法的 Mockmvc

visual-studio - Visual Studio 安装项目 - 如何避免重复条目?

odata - 使用 OData $filter 通过 flagStatus 获取 Microsof