我目前正在运行一个完整的节点,并试图循环处理一些事务。每当我使用Web3j并使用ethBlock这样做时。TransactionObject
和我到达一个包含合约的事务(就像这个)并使用. getTo()
函数它返回一个空值。我有办法检索合约地址吗?
编辑:这是我用来获取交易的代码
EthBlock.Block block = web3.ethGetBlockByNumber(DefaultBlockParameter.valueOf(BigInteger.valueOf(1397553)), true).send().getBlock();
List<EthBlock.TransactionResult> transactionResults = block.getTransactions();
transactionResults.forEach(tx -> {
EthBlock.TransactionObject transaction = (EthBlock.TransactionObject) tx.get();
System.out.println(transaction.getCreates());
});
这将返回一个“null”
当交易创建合约时,to
字段按设计为空(以太坊网络)。
要获取事务创建的合同地址,请使用getCreates()方法。