我刚开始使用Web3j并且遇到了一些基本问题。
我已经成功找到了如何获取EthBlock并检索其中的所有信息。我想查看块中的事务列表,但我无法弄清楚如何。
我可以打电话
List<TransactionResult> transactions = ethBlock.getBlock().getTransactions();
我应该能够查看此列表并获取有关每笔交易的信息。但是,我似乎只能使用TransactionResult将其转换为非常无用的TransactionHash。我想要的是一个TransactionObject,我可以从中提取大量信息。
如何获取真实交易数据?
另一方面说明:有没有理由为什么似乎没有任何Web3j JavaDoc?
答案 0 :(得分:2)
它就在那里,由于他们如何使用泛型,它只是混淆了如何实现它。以下示例将输出LATEST
块中每个事务的发送方:
List<EthBlock.TransactionResult> txs = web3j.ethGetBlockByNumber(DefaultBlockParameterName.LATEST, true).send().getBlock().getTransactions();
txs.forEach(tx -> {
EthBlock.TransactionObject transaction = (EthBlock.TransactionObject) tx.get();
System.out.println(transaction.getFrom());
});
请注意,这是TransactionObject
(已发送的tx),而不是包含正在挖掘的tx结果的结果TransactionReceipt
。