我在 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
amazon-web-services - AWSLambdaClient 调用给出异常 : com
html - 在本地和网络上都有效的 HTML 站点中的根目录相关链接
python - 如何通过 odoo 中的 xmlrpc 为产品提供批号/序列号
java - 接受多部分文件的 DELETE 方法的 Mockmvc