Skip to content
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

The sequenced transaction pool behaviour isn't documented #1561

Open
matthew1001 opened this issue Apr 9, 2024 · 2 comments · May be fixed by #1600
Open

The sequenced transaction pool behaviour isn't documented #1561

matthew1001 opened this issue Apr 9, 2024 · 2 comments · May be fixed by #1600
Assignees

Comments

@matthew1001
Copy link
Contributor

I think the Transaction Pool topic https://besu.hyperledger.org/public-networks/concepts/transactions/pool needs a section on the "Sequenced" transaction pool. I've put together a summary of the changes I think are needed, and some initial text suggestions to describe the behaviour of the pool

  1. https://besu.hyperledger.org/public-networks/reference/cli/options#tx-pool

    • I suggest we now remove the "previously known as legacy" text as it's probably no longer needed.
    • I also think we should change the wording of "to opt out of the layered transaction pool." and just say "to use the sequenced transaction pool."
  2. https://besu.hyperledger.org/public-networks/concepts/transactions/pool

    • I think this needs 2 sections. One for layered and one for sequenced, ideally with an initial intro paragraph that explains that there are 2 types of transaction pool available, and that the layered pool is the recommended pool for public chains and the sequenced pool is the recommended pool for private chains.
    • For the description of the sequenced pool I've put some initial suggested text below

Sequenced transaction pool

The sequenced transaction pool is recommended for private blockchains. To select the sequenced transaction pool set the --tx-pool=sequenced configuration option. If the enterprise configuration profile has been chosen using --profile=enterprise the sequenced transaction pool will be used by default.

The sequenced transaction pool is designed to be more suitable to enterprise environments. Its design is oriented around behaviouring like a first-in-first-out (FIFO) queue of transactions and therefore has the following characteristics:

  • Transactions are selected in the order they are submitted regardless of which sender submitted the transaction
  • When the transaction pool is full newer transactions are evicted first. This reduces the chance of a nonce gap being introduced and requiring an application to resubmit an old transaction.
@matthew1001
Copy link
Contributor Author

I think this documentation topic is needed in order for candidates of the upcoming Besu certification to be able to answer some of the questions. Is it possible for it to be looked at in the near future?

@gtebrean
Copy link
Contributor

gtebrean commented Jun 7, 2024

@joaniefromtheblock could you please help us with it? We need this for the Besu certification sources.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants