-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Waiting for a transaction fails on Geth 1.13.11 #3212
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
Comments
Realizing this is likely related to a recent Geth change: ethereum/go-ethereum#28877 |
The question is: how does web3.py handle receipt waiting? My hunch is that there is an internal loop that queries the receipts repeatedly until they are available. Originally, eth_getTransactionReceipt would return null if the receipt was not available yet. After the implementation of ethereum/go-ethereum#28703, eth_getTransactionReceipt returns an error if the receipt is not available, and transaction indexing is not finished yet (note that transaction indexing only occurs during the initial sync stage). I suspect that the new behavior breaks the logic in web3.py, which immediately returns when the error is returned by the GETH RPC. |
pip freeze
outputWhat was wrong?
The line:
has issues on my local testing Geth node (inspired from geth --dev).
So I run into this issue if I check too fast:
How can it be fixed?
I think raising + catching a custom error for this situation.
Like it should still wait for the timeout if we are indexing.
Right now, it is only looking for "tx not found" error.
Note: We prefer to use issues to track our work. If you think you've encountered a bug in web3py or
have a feature request, you're in the right place. If you have implementation or usage questions,
please refer to our documentation and/or join the conversation
on discord.
The text was updated successfully, but these errors were encountered: