我提交了一个交易,但没有被开采。
创建和发送交易后,会收到交易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就可以看到。然后就等着开采了。
如果没有任何迹象,交易就消失了。那么对不起,可能的原因是由于交易的随机数问题,以太币要么没有被设置,要么太低。有关更多信息,请参阅交易处理部分。