-
Notifications
You must be signed in to change notification settings - Fork 19.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Transaction Hash Returned but Not Broadcasted Automatically #30085
Comments
This seems like a scam. Please do not open the links of this comment. |
Can you set the log level to trace ( |
Also, ensure that the transaction hash appears in the output of |
Hi, @jwasinger , We are a node provider, and similar issues have occurred before. Currently, we are unsure how to debug this. Could you please explain the mechanism of the transaction pool and the possible situations that might arise? Additionally, are there any optimization techniques we can use to improve the success rate of broadcasting transactions? Thank you very much. |
@J1a-wei so I assume this issue happens occasionally, and is not necessarily reproduceable on command? I'm going to assume that the transactions in question are normal transactions, and not blob transactions (as these are not direct broadcasted). When normal transactions are sent to the pool (regardless of local/remote origination), they are first validated:
Transactions which pass this validation are considered "queued": the set of transactions which are not necessarily currently-executable (higher nonce than the current value for the sender). Asynchronously, the pool will look for queued transactions that have become executable and move these to the "pending" set. From there, these are direct-broadcasted to a random subset of the peers. The size of this subset is the square root of the peer set. Given that you received no error from sending the transaction to the pool, it passed validation and was included in the queued set. Because it is able to be included reliably via a block explorer, I assume that it became executable, and eligible for broadcast. Perhaps there are not enough peers in the direct-broadcast set to reliably propagate the transaction through the network. How many peers are connected when you experience the issue? Note that to prevent spamming the network with additional traffic, Geth will not automatically re-broadcast transactions if they do not get included in the chain. This is functionality that you will have to build yourself. |
Hi Geth Team,
I've encountered an issue where Geth returns a transaction hash after sending a transaction, but the transaction does not seem to be broadcasted to the network. As a result, the transaction only appears on the blockchain after manually broadcasting it using a block explorer.
Geth version: v1.14.3
The text was updated successfully, but these errors were encountered: