-
Notifications
You must be signed in to change notification settings - Fork 5k
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
Improve nonce tracking #1127
Comments
I wish it were that easy. infura switching to single node will likely open up more options for us here |
Is that just an issue when emitting several txs in series, where the nodes don't have time to synchronize? In the short term, I guess we have some bug in how we decrement the nonce after tx failures. |
yeah need more tests around the nonce tracker |
the I wonder if a single over-nonced tx would then throw off the whole flow, tricking the client into incrementing the nonce to the wrong place in the series... |
For Parity it would be best to use |
Is there a chance this feature will be implemented by other clients with a common name? Our users like being able to point at whatever RPC they are running, @tomusdrw. |
Some discussions on RPC API governance and cross-client tests suites / specs is ongoing here ethereum/EIPs#217 I really hope that it will be the case in a near future. I've also created an issue in Parity repo to discuss different definitions/exceptions for pending state: openethereum/parity-ethereum#5014 |
Glad you're thinking about the same things. Yeah the RPC API governance will be nice to help coordinate, but we shouldn't use it as a reason to avoid coordinating in the meanwhile. It could take a while to have something good working there. |
If we added nonces to the tx history, it might be easier to visually debug these issues. |
I just helped debug a user on reddit who had another sort of nonce issue: They had the same account on both metamask and MEW, and after sending a tx on MEW, the next metamask TX failed, because it had the same nonce. Maybe if we polled for updated nonces more frequently, we could alleviate his issue. |
flyswatter, I am experiencing the same issue that you just described. I get a "Nonce too low" error when trying to submit a transaction from metamask after submitting transactions from the same account in geth. Here are the reproduction steps:
Result: "Nonce too low" error. |
Thanks for the report, @rickfeiner, I hope you found that you can restart your browser to fix the issue. If not, at worst, you might need to uninstall & reinstall MetaMask. |
I've found that switching to test-net from main-net (or vise-versa) and then back again, resolves the problem. |
Good tip! Maybe we should just add a reset nonce button until we have this well sorted out. |
nonce tracking plan:
|
Retry button = edit gas settings and resubmit? |
yes and with a fresh nonce. should just drop you on the conf tx page with the same details filled in. |
This problem could have been simplified/avoided sooner if we'd shown support for this Parity feature: openethereum/parity-ethereum#5014 Head down, chime in, and then hopefully we can get the Geth team to do the same. It's probably a lot slower to wait for that feature than to just fix this without it, though. |
Here are some action steps me and Frankie came up with regarding this issue: step 0: step 1: step 2: step 2.5: step 3: step 4: allow editing nonce via an advanced thing on the tx approval screen. |
A reset nonce button would be great. I just created this problem for myself on testrpc while developing a dapp that uses metamask, now have a pile of failed txs and would like to just clear the state. Update: Switching back and forth between networks seems to reset |
Nonce tracking has been significantly improved via the new tx-controller and its nonce-tracker |
I ran into this issue using a local Posting here since I'm not sure if this should be a new issue or not. |
Not a new issue. Two ways around it:
|
Thanks! Reinstalling MetaMask worked for me. |
During the melonport launch, a user transmitted several txs that failed for different reasons at once. The result was that their MetaMask account was put into an incorrect nonce state.
We need to improve our nonce updating logic. Maybe querying the network for an updated nonce before each tx transmission?
The text was updated successfully, but these errors were encountered: