如何解决如果发送到合约,Web3J“transaction.getTo()”返回 null
我目前正在运行一个完整的节点,并且正在尝试遍历一些事务。每当我使用 Web3j 执行此操作并使用 EthBlock.TransactionObject
时,我都会进入包含合约 (Like this one) 的交易并使用 .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());
});
这将返回一个“空”
解决方法
当交易创建合约时,to
字段设计为空(以太坊网络)。
要获取交易创建的合约地址,请使用 getCreates() 方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。