internal/ethapi: add eth_nextNonce RPC method #15840
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
#15794 notes that any client relying on Geth for the next nonce by using the
eth_getTransactionCount
RPC method will run into the issue of duplicate nonces if the client attempts to submit concurrent transactions. Changingeth_getTransactionCount(.., "pending")
to ask the local node's transaction pool would be backwards incompatible because it would break the current definition of pending state (the pending block if you are a miner or the latest canonical block if you are not a miner).This PR is a basic first attempt to mimic Parity's custom
parity_nextNonce
RPC method (https://github.com/paritytech/parity/wiki/JSONRPC-parity-module#parity_nextnonce) with a neweth_nextNonce
RPC method. An additional benefit to adding this RPC method might be eventual cross compatibility.PendingNonceAt
is usually used to retrieve the pending nonce for an account - perhaps an additionalNextNonceAt
can be defined as well which uses theeth_nextNonce
RPC method to also preserve the current definition forPendingNonceAt
.