提问者:小点点

Web3J“transaction.getTo()”如果发送到合同,则返回null


我目前正在运行一个完整的节点,并试图循环处理一些事务。每当我使用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”


共1个答案

匿名用户

当交易创建合约时,to字段按设计为空(以太坊网络)。

要获取事务创建的合同地址,请使用getCreates()方法。