Web3j: Как получить информацию о транзакциях Ethereum (Java не JS) - PullRequest
0 голосов
/ 11 мая 2018

Я только начал использовать Web3j, и у меня возникли некоторые основные проблемы.

Я успешно выяснил, как получить EthBlock и получить всю информацию внутри него.Я хотел бы видеть список транзакций в блоке, но я не могу понять, как.

Я могу позвонить

 List<TransactionResult> transactions = ethBlock.getBlock().getTransactions();

Я должен иметь возможность просматривать этот списоки получить информацию о каждой транзакции.Но все, что я могу сделать с TransactionResult, это привести его к очень бесполезному TransactionHash.Я хотел бы получить объект TransactionObject, из которого я могу извлечь много информации.

Как получить реальные данные транзакции?

И еще одно замечание: есть ли причина, почемуне похоже на какой-либо Web3j JavaDoc ??

1 Ответ

0 голосов
/ 12 мая 2018

Это там, это просто сбивает с толку, как добраться до него из-за того, как они использовали дженерики.Приведенный ниже пример выведет отправителя каждой транзакции в блоке 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 (отправленный тхс), а не результирующий TransactionReceipt, содержащийрезультат добычи tx.

...