Как я могу декодировать входные данные транзакции?
Я использую web3j в Java, чтобы получить входные данные транзакции. Я могу получить данные, но проблема в том, как я могу декодировать эти данные.
Входные данные: "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"));
Когда вы выполняете код, вы получаете множество символов.
1 ответ
Я не разбираюсь в nodeJS, но вот как это сделать на python на всякий случай.
txn = web3.eth.get_transaction(txHash)
txnInput = routerContract.decode_function_input(txn.input)
print(txnInput)