我提交了一个交易,但没有被开采。

优质
小牛编辑
118浏览
2023-12-01

我提交了一个交易,但没有被开采。

创建和发送交易后,会收到交易hash,但是调用eth_getTransactionReceipt却总是返回空值,指示交易未被挖掘,代码如下:

String transactionHash = sendTransaction(...);

// you loop through the following expecting to eventually get a receipt once the transaction
// is mined
EthGetTransactionReceipt.TransactionReceipt transactionReceipt =
        web3j.ethGetTransactionReceipt(transactionHash).sendAsync().get();

if (!transactionReceipt.isPresent()) {
    // try again, ad infinitum
}

从未收到交易收据,而且不幸的是,在以太坊客户端中可能没有任何错误提示,说明交易有任何问题:

I1025 18:13:32.817691 eth/api.go:1185] Tx(0xeaac9aab7f9aeab189acd8714c5a60c7424f86820884b815c4448cfcd4d9fc79) to: 0x9c98e381edc5fe1ac514935f3cc3edaa764cf004

查看提交是否正在等待挖掘开采的最简单的方法是用Etherscan并使用https://testnet.etherscan.io/address/0x…搜索发送的交易的地。如果提交是成功的,在执行提交操作的几秒钟内应该在Etherscan就可以看到。然后就等着开采了。

如果没有任何迹象,交易就消失了。那么对不起,可能的原因是由于交易的随机数问题,以太币要么没有被设置,要么太低。有关更多信息,请参阅交易处理部分