Skip to content

The API eth_getTransactionCount(..., "pending") is not synchronous with the API eth_sendRawTransaction. #1544

@chaoticlonghair

Description

@chaoticlonghair

Description

  • Write a script with your favorite language.

    • Get the nonce M with pending transactions for a sender through the JSON-RPC.
    • Construct a transaction.
    • Send the transaction.
    • Get the nonce N with pending transactions for a sender through the JSON-RPC immediately, do NOT wait for the transaction to be mined.
    • Check if M is equal to N.
  • Start a Ethereum dev chain with Geth and parameters --dev --dev.period 3.

    • Run the script.
  • Start a Axon dev chain with default configuration [params.consensus_config] interval = 3000.

    • Run the script.
  • Compare the results of above tests:

    • No failed tests on Ethereum.
    • More than 50% tests on Axon are failed.
  • Base on the previous fact, on Axon, transactions could NOT be sent one by one immediately, because the API eth_getTransactionNonce(..., "pending") is not synchronous with the API eth_sendRawTransaction.

Metadata

Metadata

Assignees

No one assigned

    Labels

    P-Mediumd:solutionDiscussion required for the solution.enhancementNew feature or requestgithub_actionsPull requests that update GitHub Actions code

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions