From f3cb9d4708aad829810840bcf0b6b124ab6a7269 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 22 May 2024 13:51:00 -0700 Subject: [PATCH 01/23] Document sequenced transaction pool behavior Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/reference/cli/options.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 0c8e12ea5d2..879e281bc10 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -4947,7 +4947,7 @@ tx-pool="sequenced" Type of [transaction pool](../../concepts/transactions/pool.md) to use. Set to `layered` to use the layered transaction pool implementation. -Set to `sequenced` (previously known as `legacy`) to opt out of the layered transaction pool. +Set to `sequenced` to use the sequenced transaction pool. The default is `layered`. ### `tx-pool-enable-save-restore` From addb70ab40bdcbb4684a47630590fa7ea0113b2f Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 4 Jun 2024 15:58:45 -0700 Subject: [PATCH 02/23] Add sequenced text Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index ceb1d126ce8..fc849fd36c1 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -11,6 +11,8 @@ tags: All nodes maintain a transaction pool to store pending transactions before processing. +Transaction pools are categorized into two types: Layered and Sequenced. Each type serves distinct purposes, with Layered pools recommended for public chains and Sequenced pools for private chains. + Options and methods for configuring and monitoring the transaction pool include: - [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) API method to @@ -33,6 +35,10 @@ the [privacy marker transaction](../../../private-networks/concepts/privacy/priv is submitted to the transaction pool, not the private transaction itself. ::: +## Sequenced transaction Pool + +Transactions are processed strictly in the order they are received, ensuring fairness and predictability. While sequenced transaction pools may lack the flexibility of layered pools, they excel in maintaining a consistent and transparent transaction order, which is often a critical requirement in private blockchain environments. + ## Layered transaction pool The [layered transaction pool](https://github.com/hyperledger/besu/pull/5290) is the default @@ -90,4 +96,4 @@ or free gas networks: * If you set [`zeroBaseFee`](../../reference/genesis-items.md) to `true` in the genesis file, the transaction pool price bump is set to `0`. Specifying a value for transaction pool price bump using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) will cause an error. -* If the [minimum gas price is zero](../../../private-networks/how-to/configure/free-gas.md), the transaction pool price bump is set to `0`, unless you specify a different value using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump). \ No newline at end of file +* If the [minimum gas price is zero](../../../private-networks/how-to/configure/free-gas.md), the transaction pool price bump is set to `0`, unless you specify a different value using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump). From 04d8b3420d024e7a8843c5aa768d6064bb4a7f85 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 4 Jun 2024 16:22:26 -0700 Subject: [PATCH 03/23] update language Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index fc849fd36c1..b5e37f4077f 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -11,7 +11,7 @@ tags: All nodes maintain a transaction pool to store pending transactions before processing. -Transaction pools are categorized into two types: Layered and Sequenced. Each type serves distinct purposes, with Layered pools recommended for public chains and Sequenced pools for private chains. +Transaction pools are categorized into two types: Layered and Sequenced. Each type serves distinct purposes, with Layered pools recommended for public chains and Sequenced pools for private chains. Layered handles volume and is faster for sorting/ faster speed , layered has extra parameters because you can limit and configurable for the number of transactions in the differnt layers. Options and methods for configuring and monitoring the transaction pool include: From c111556f857500c9d8971fb8b4b33cfad2a4acda Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 5 Jun 2024 16:43:45 -0700 Subject: [PATCH 04/23] Update wording Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 42 +++++++++++-------- 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index b5e37f4077f..f56d66a5674 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -11,33 +11,37 @@ tags: All nodes maintain a transaction pool to store pending transactions before processing. -Transaction pools are categorized into two types: Layered and Sequenced. Each type serves distinct purposes, with Layered pools recommended for public chains and Sequenced pools for private chains. Layered handles volume and is faster for sorting/ faster speed , layered has extra parameters because you can limit and configurable for the number of transactions in the differnt layers. +Transaction pools are categorized into the following two types: -Options and methods for configuring and monitoring the transaction pool include: +* [Sequenced](#sequenced-transaction-pool) - Recommended for private chains. +* [Layered](#layered-transaction-pool) - Recommended for public chains. Layered has extra parameters because you can limit and + configure for the number of transactions in the different layers which handles volume and sorts transactions at a faster speed. + -- [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) API method to - list transactions in the transaction pool. -- [`--tx-pool`](../../reference/cli/options.md#tx-pool) option to specify the type of transaction - pool to use. -- [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) option - to specify the maximum memory capacity of the transaction pool. -- [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) option to specify the - price bump percentage to replace an existing transaction. -- [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) - option to specify sender addresses to prioritize in the transaction pool. -- [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) and - [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) RPC - subscriptions to notify you of transactions added to and dropped from the transaction pool. +Options and methods for configuring and monitoring the transaction pool include: +| | Description | Transaction pool type| +|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| +| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | Both | +| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | Both | +| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | Layered only | +| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | +| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | +| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | +| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | + :::note When submitting [private transactions](../../../private-networks/concepts/privacy/private-transactions/index.md#nonce-validation), the [privacy marker transaction](../../../private-networks/concepts/privacy/private-transactions/processing.md) is submitted to the transaction pool, not the private transaction itself. ::: -## Sequenced transaction Pool +## Sequenced transaction pool -Transactions are processed strictly in the order they are received, ensuring fairness and predictability. While sequenced transaction pools may lack the flexibility of layered pools, they excel in maintaining a consistent and transparent transaction order, which is often a critical requirement in private blockchain environments. +In the sequenced transaction pool, transactions are processed strictly in the order they are received. +Although sequenced transaction pools lack the flexibility of layered pools, they help maintain a +consistent and transparent transaction order, which is often a critical requirement in private blockchain +environments. ## Layered transaction pool @@ -70,7 +74,9 @@ You can opt out of the layered transaction pool implementation by setting the ## Dropping transactions when the transaction pool is full -When the transaction pool is full, it accepts and retains local transactions in preference to remote transactions. If the transaction pool is full of local transactions, Besu drops the oldest local transactions first. That is, a full transaction pool continues to accept new local transactions by first dropping remote transactions and then by dropping the oldest local transactions. +When the transaction pool is full, it accepts and retains local transactions in preference to remote transactions. +If the transaction pool is full of local transactions, Besu drops the oldest local transactions first. +That is, a full transaction pool continues to accept new local transactions by first dropping remote transactions and then by dropping the oldest local transactions. ## Replacing transactions with the same sender and nonce From ac84e77d9bccf35d64c8a4bc668bfbd5f2b89604 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Thu, 6 Jun 2024 05:23:34 -0700 Subject: [PATCH 05/23] Updatedescription Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../public-networks/concepts/transactions/pool.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index f56d66a5674..625d11b2e15 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -14,10 +14,8 @@ All nodes maintain a transaction pool to store pending transactions before proce Transaction pools are categorized into the following two types: * [Sequenced](#sequenced-transaction-pool) - Recommended for private chains. -* [Layered](#layered-transaction-pool) - Recommended for public chains. Layered has extra parameters because you can limit and - configure for the number of transactions in the different layers which handles volume and sorts transactions at a faster speed. +* [Layered](#layered-transaction-pool) - Recommended for public chains. - Options and methods for configuring and monitoring the transaction pool include: | | Description | Transaction pool type| @@ -40,8 +38,14 @@ is submitted to the transaction pool, not the private transaction itself. In the sequenced transaction pool, transactions are processed strictly in the order they are received. Although sequenced transaction pools lack the flexibility of layered pools, they help maintain a -consistent and transparent transaction order, which is often a critical requirement in private blockchain -environments. +consistent and transparent transaction order, which is often important in private blockchain +environments. + +To select the sequenced transaction pool, set the `--tx-pool=sequenced` configuration option. +If you choose the enterprise configuration profile using `--profile=enterprise`, the sequenced transaction pool is set by default. +The sequenced transaction pool suits enterprise environments and functions like a first-in-first-out (FIFO) queue. +It processes transactions in the order of submission, regardless of the sender. +When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions. ## Layered transaction pool @@ -52,6 +56,7 @@ That is, the first layer keeps only transactions with the highest value and that into the next produced block. The two other layers ensure that Besu always has a backlog of transactions to fill blocks, gaining the maximum amount of fees. +Layered pools have additional parameters that allow you to limit and configure the number of transactions in different layers, enabling them to handle high volumes and sort transactions at a faster speed. With the layered transaction pool, Besu produces more profitable blocks more quickly, with more denial-of-service protection, and using less CPU than with the legacy transaction pool. From e48ffdef34ba486546f274881dd4c88bd355ed82 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Thu, 6 Jun 2024 06:12:15 -0700 Subject: [PATCH 06/23] slight reword Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 31 +++++++++---------- 1 file changed, 15 insertions(+), 16 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 625d11b2e15..1dcaa65e7b6 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -13,8 +13,8 @@ All nodes maintain a transaction pool to store pending transactions before proce Transaction pools are categorized into the following two types: -* [Sequenced](#sequenced-transaction-pool) - Recommended for private chains. -* [Layered](#layered-transaction-pool) - Recommended for public chains. +* [Layered](#layered-transaction-pool) - Recommended for public blockchain networks. +* [Sequenced](#sequenced-transaction-pool) - Recommended for private blockchain networks. Options and methods for configuring and monitoring the transaction pool include: @@ -34,19 +34,6 @@ the [privacy marker transaction](../../../private-networks/concepts/privacy/priv is submitted to the transaction pool, not the private transaction itself. ::: -## Sequenced transaction pool - -In the sequenced transaction pool, transactions are processed strictly in the order they are received. -Although sequenced transaction pools lack the flexibility of layered pools, they help maintain a -consistent and transparent transaction order, which is often important in private blockchain -environments. - -To select the sequenced transaction pool, set the `--tx-pool=sequenced` configuration option. -If you choose the enterprise configuration profile using `--profile=enterprise`, the sequenced transaction pool is set by default. -The sequenced transaction pool suits enterprise environments and functions like a first-in-first-out (FIFO) queue. -It processes transactions in the order of submission, regardless of the sender. -When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions. - ## Layered transaction pool The [layered transaction pool](https://github.com/hyperledger/besu/pull/5290) is the default @@ -77,7 +64,19 @@ If you previously configured transaction pool behavior, upgrade to the layered t You can opt out of the layered transaction pool implementation by setting the [`--tx-pool`](../../reference/cli/options.md#tx-pool) option to `sequenced`. -## Dropping transactions when the transaction pool is full +## Sequenced transaction pool + +In the sequenced transaction pool, transactions are processed strictly in the order they are received. +Although sequenced transaction pools lack the flexibility of layered pools, they help maintain a +consistent and transparent transaction order, which is often useful in private blockchains. + +You can select the sequenced transaction pool by setting `--tx-pool=sequenced`. + +If you set the enterprise configuration profile using `--profile=enterprise`, the sequenced transaction pool is set by default. +The sequenced transaction pool suits enterprise environments because it functions like a first-in-first-out (FIFO) queue and processes transactions in the order of submission, regardless of the sender. +When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions. + +## Dropping transactions when the layered transaction pool is full When the transaction pool is full, it accepts and retains local transactions in preference to remote transactions. If the transaction pool is full of local transactions, Besu drops the oldest local transactions first. From eeeb67e7e27769036a86ba374b09a4b308643a09 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Thu, 6 Jun 2024 07:36:17 -0700 Subject: [PATCH 07/23] edit Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 1dcaa65e7b6..bb7eab82df5 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -16,7 +16,7 @@ Transaction pools are categorized into the following two types: * [Layered](#layered-transaction-pool) - Recommended for public blockchain networks. * [Sequenced](#sequenced-transaction-pool) - Recommended for private blockchain networks. -Options and methods for configuring and monitoring the transaction pool include: +Options and methods for configuring and monitoring the transaction pool include the following: | | Description | Transaction pool type| |----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| From a413641a1fb56c6ee9d4a885fcde6ef7297884db Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:50:33 -0700 Subject: [PATCH 08/23] Update pool.md Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index bb7eab82df5..8d081273f4e 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -22,12 +22,23 @@ Options and methods for configuring and monitoring the transaction pool include |----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| | [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | Both | | [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | Both | +| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore)| Option to enable save and restore functionality for the transaction pool. | Both | | [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | Layered only | +| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage)| Option to limit the transaction pool by account percentage. | Both | +| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender)| Option to specify the maximum number of future transactions by sender. | Both | +| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | Both | +| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type)| Option to specify the maximum number of prioritized transactions by type.| Both | +| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | Both | +| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | Both | +| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | Both | | [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | | [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | +| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | Both | +| [`tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | | [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | | [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | - + + :::note When submitting [private transactions](../../../private-networks/concepts/privacy/private-transactions/index.md#nonce-validation), the [privacy marker transaction](../../../private-networks/concepts/privacy/private-transactions/processing.md) @@ -70,9 +81,9 @@ In the sequenced transaction pool, transactions are processed strictly in the or Although sequenced transaction pools lack the flexibility of layered pools, they help maintain a consistent and transparent transaction order, which is often useful in private blockchains. -You can select the sequenced transaction pool by setting `--tx-pool=sequenced`. +You can select the sequenced transaction pool by setting [`--tx-pool=sequenced`](../../reference/cli/options.md#tx-pool). -If you set the enterprise configuration profile using `--profile=enterprise`, the sequenced transaction pool is set by default. +If you set the enterprise configuration profile using [`--profile=enterprise`](../../reference/cli/options.md#profile), the sequenced transaction pool is set by default. The sequenced transaction pool suits enterprise environments because it functions like a first-in-first-out (FIFO) queue and processes transactions in the order of submission, regardless of the sender. When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions. From 6a7fe0d9f46837166c94f9165c5e148dfded9ab1 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:51:03 -0700 Subject: [PATCH 09/23] Update table Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> From 0bac1551908e1cbe9234458b2576e1f040d44bb4 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Mon, 10 Jun 2024 09:58:14 -0700 Subject: [PATCH 10/23] add default for enterprise profile Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/reference/cli/options.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 540068bd211..e3bcf472902 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -4952,9 +4952,11 @@ tx-pool="sequenced" Type of [transaction pool](../../concepts/transactions/pool.md) to use. Set to `layered` to use the layered transaction pool implementation. -Set to `sequenced` to use the sequenced transaction pool. The default is `layered`. +Set to `sequenced` to use the sequenced transaction pool. +The default is `sequenced` for the [enterprise profile](../../how-to/use-configuration-file/profile#enterpriseprivate-profile). + ### `tx-pool-enable-save-restore` From e345767c2d526e3f2094181d29cef82a5a8976dc Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Mon, 10 Jun 2024 10:06:17 -0700 Subject: [PATCH 11/23] Update language Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 8d081273f4e..21d592ea6b8 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -49,11 +49,10 @@ is submitted to the transaction pool, not the private transaction itself. The [layered transaction pool](https://github.com/hyperledger/besu/pull/5290) is the default transaction pool implementation. -This implementation separates the pool into layers according to value and executability of the transactions. -That is, the first layer keeps only transactions with the highest value and that could feasibly go -into the next produced block. -The two other layers ensure that Besu always has a backlog of transactions to fill blocks, gaining -the maximum amount of fees. +The implementation separates the pool into layers according to value and executability of the transactions. +The first layer keeps only the highest-value transactions that can feasibly go into the next block. +The other two layers ensure Besu always has a backlog of transactions to fill blocks, maximizing the amount of fees. + Layered pools have additional parameters that allow you to limit and configure the number of transactions in different layers, enabling them to handle high volumes and sort transactions at a faster speed. With the layered transaction pool, Besu produces more profitable blocks more quickly, with more From da1fec8347b21b71e88ed1ed136db777cf0a46d2 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 11 Jun 2024 04:34:47 -0700 Subject: [PATCH 12/23] Move table Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 53 ++++++++++--------- 1 file changed, 28 insertions(+), 25 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 21d592ea6b8..9d0a6d8bf7a 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -14,31 +14,10 @@ All nodes maintain a transaction pool to store pending transactions before proce Transaction pools are categorized into the following two types: * [Layered](#layered-transaction-pool) - Recommended for public blockchain networks. -* [Sequenced](#sequenced-transaction-pool) - Recommended for private blockchain networks. - -Options and methods for configuring and monitoring the transaction pool include the following: - -| | Description | Transaction pool type| -|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| -| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | Both | -| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | Both | -| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore)| Option to enable save and restore functionality for the transaction pool. | Both | -| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | Layered only | -| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage)| Option to limit the transaction pool by account percentage. | Both | -| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender)| Option to specify the maximum number of future transactions by sender. | Both | -| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | Both | -| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type)| Option to specify the maximum number of prioritized transactions by type.| Both | -| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | Both | -| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | Both | -| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | Both | -| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | -| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | -| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | Both | -| [`tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | -| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | -| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | - +* [Sequenced](#sequenced-transaction-pool) - Recommended for private blockchain networks. +You can use specific options and methods to [configure and monitor the transaction pool](#transaction-pool-options-and-methods). + :::note When submitting [private transactions](../../../private-networks/concepts/privacy/private-transactions/index.md#nonce-validation), the [privacy marker transaction](../../../private-networks/concepts/privacy/private-transactions/processing.md) @@ -116,4 +95,28 @@ or free gas networks: * If you set [`zeroBaseFee`](../../reference/genesis-items.md) to `true` in the genesis file, the transaction pool price bump is set to `0`. Specifying a value for transaction pool price bump using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) will cause an error. -* If the [minimum gas price is zero](../../../private-networks/how-to/configure/free-gas.md), the transaction pool price bump is set to `0`, unless you specify a different value using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump). +* If the [minimum gas price is zero](../../../private-networks/how-to/configure/free-gas.md), the transaction pool price bump is set to `0`, unless you specify a different value using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump). + +## Transaction pool options and methods + +Options and methods for configuring and monitoring the transaction pool include the following: + +| | Description | Transaction pool type| +|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| +| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | Both | +| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | Both | +| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore)| Option to enable save and restore functionality for the transaction pool. | Both | +| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | Layered only | +| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage)| Option to limit the transaction pool by account percentage. | Both | +| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender)| Option to specify the maximum number of future transactions by sender. | Both | +| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | Both | +| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type)| Option to specify the maximum number of prioritized transactions by type.| Both | +| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | Both | +| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | Both | +| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | Both | +| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | +| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | +| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | Both | +| [`tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | +| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | +| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | From 9c81f60243a6add82be0ff8a1ef9d8e01cdd6843 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 11 Jun 2024 05:07:39 -0700 Subject: [PATCH 13/23] add clearer language Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 9d0a6d8bf7a..474178afae1 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -61,7 +61,7 @@ consistent and transparent transaction order, which is often useful in private b You can select the sequenced transaction pool by setting [`--tx-pool=sequenced`](../../reference/cli/options.md#tx-pool). -If you set the enterprise configuration profile using [`--profile=enterprise`](../../reference/cli/options.md#profile), the sequenced transaction pool is set by default. +If you set the enterprise configuration profile using [`--profile=enterprise`](../../reference/cli/options.md#enterpriseprivate-profile) or [`--profile=private`](../../reference/cli/options.md#enterpriseprivate-profile), the `sequenced` transaction pool is set by default. The sequenced transaction pool suits enterprise environments because it functions like a first-in-first-out (FIFO) queue and processes transactions in the order of submission, regardless of the sender. When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions. From 0d46e8babe3515d1cd00c845cf7a16c9bfa451fa Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 11 Jun 2024 05:10:49 -0700 Subject: [PATCH 14/23] add links Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/reference/cli/options.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index e3bcf472902..8749e61ef26 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -4951,11 +4951,11 @@ tx-pool="sequenced" Type of [transaction pool](../../concepts/transactions/pool.md) to use. -Set to `layered` to use the layered transaction pool implementation. +Set to `layered` to use the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool) implementation. The default is `layered`. -Set to `sequenced` to use the sequenced transaction pool. -The default is `sequenced` for the [enterprise profile](../../how-to/use-configuration-file/profile#enterpriseprivate-profile). +Set to `sequenced` to use the [sequenced transaction pool](../../concepts/transactions/pool#sequenced-transaction-pool). +The default is `sequenced` for the [enterprise/private profile](../../how-to/use-configuration-file/profile#enterpriseprivate-profile). ### `tx-pool-enable-save-restore` From 30abd8a849ac2a7c3f3bde4945ee4801248f8d7c Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 11 Jun 2024 23:03:40 -0700 Subject: [PATCH 15/23] Update docs/public-networks/concepts/transactions/pool.md Co-authored-by: Alexandra Tran Carrillo <12214231+alexandratran@users.noreply.github.com> Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 474178afae1..01e91c11297 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -117,6 +117,6 @@ Options and methods for configuring and monitoring the transaction pool include | [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | | [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | | [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | Both | -| [`tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | +| [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | | [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | | [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | From a4624dd408d72d541487ff01a2de82c4aa647071 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Tue, 11 Jun 2024 23:22:11 -0700 Subject: [PATCH 16/23] add additional api methods Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 56 +++++++++++-------- 1 file changed, 33 insertions(+), 23 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 01e91c11297..8d075059908 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -97,26 +97,36 @@ or free gas networks: will cause an error. * If the [minimum gas price is zero](../../../private-networks/how-to/configure/free-gas.md), the transaction pool price bump is set to `0`, unless you specify a different value using [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump). -## Transaction pool options and methods - -Options and methods for configuring and monitoring the transaction pool include the following: - -| | Description | Transaction pool type| -|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------|----------------------| -| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | Both | -| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | Both | -| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore)| Option to enable save and restore functionality for the transaction pool. | Both | -| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | Layered only | -| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage)| Option to limit the transaction pool by account percentage. | Both | -| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender)| Option to specify the maximum number of future transactions by sender. | Both | -| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | Both | -| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type)| Option to specify the maximum number of prioritized transactions by type.| Both | -| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | Both | -| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | Both | -| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | Both | -| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | Both | -| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | Both | -| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | Both | -| [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | Both | -| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | Both | -| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool.| Both | +## Transaction pool methods and options + +Methods and options for configuring and monitoring the transaction pool include the following: + +| Method | Description | +|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | +| [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | +| [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | +| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | +| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool. | + + +| Option | Description | +|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | +| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore) | Option to enable save and restore functionality for the transaction pool. | +| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | +| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage) | Option to limit the transaction pool by account percentage. | +| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender) | Option to specify the maximum number of future transactions by sender. | +| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | +| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type) | Option to specify the maximum number of prioritized transactions by type. | +| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | +| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | +| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | +| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | +| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | +| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | +| [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | + +:::note +The option [`--tx-pool-layer-max-capacity`](tx-pool-layer-max-capacity) is applicable only for [layered transaction pools](#layered-transaction-pool). +::: From c121fd58605be2a6bd03f73e80ee03c4a15702c1 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 10:40:41 -0700 Subject: [PATCH 17/23] add missing link Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 8d075059908..90e63443234 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -106,8 +106,8 @@ Methods and options for configuring and monitoring the transaction pool include | [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | | [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | | [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | -| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify you of transactions added to the transaction pool. | -| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify you of transactions dropped from the transaction pool. | +| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify of transactions added to the transaction pool. | +| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify of transactions dropped from the transaction pool. | | Option | Description | @@ -118,7 +118,7 @@ Methods and options for configuring and monitoring the transaction pool include | [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage) | Option to limit the transaction pool by account percentage. | | [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender) | Option to specify the maximum number of future transactions by sender. | | [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | -| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type) | Option to specify the maximum number of prioritized transactions by type. | +| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type) | Option to specify the maximum number of prioritized transactions by type. | | [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | | [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | | [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | @@ -128,5 +128,5 @@ Methods and options for configuring and monitoring the transaction pool include | [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | :::note -The option [`--tx-pool-layer-max-capacity`](tx-pool-layer-max-capacity) is applicable only for [layered transaction pools](#layered-transaction-pool). +The option [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) is applicable only for [layered transaction pools](#layered-transaction-pool). ::: From 116f1c177b8bf896d494026e48f4e14927cc5031 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:40:25 -0700 Subject: [PATCH 18/23] Update docs/public-networks/concepts/transactions/pool.md Co-authored-by: Alexandra Tran Carrillo <12214231+alexandratran@users.noreply.github.com> Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 90e63443234..6b86eed7394 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -106,6 +106,8 @@ Methods and options for configuring and monitoring the transaction pool include | [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | | [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | | [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | + +| Subscription | Description | | [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify of transactions added to the transaction pool. | | [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify of transactions dropped from the transaction pool. | From 7e1ee0938a448fc83ad21d8be674f9b4a69464a8 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:40:33 -0700 Subject: [PATCH 19/23] Update docs/public-networks/concepts/transactions/pool.md Co-authored-by: Alexandra Tran Carrillo <12214231+alexandratran@users.noreply.github.com> Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 6b86eed7394..55a604fb71c 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -99,7 +99,7 @@ or free gas networks: ## Transaction pool methods and options -Methods and options for configuring and monitoring the transaction pool include the following: +You can configure and monitor the transaction pool using the following methods, subscriptions, and options: | Method | Description | |----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| From cbfa35b93335a830771fea952f74dcf66b9f8d2d Mon Sep 17 00:00:00 2001 From: Alexandra Tran Carrillo <12214231+alexandratran@users.noreply.github.com> Date: Wed, 12 Jun 2024 11:55:44 -0700 Subject: [PATCH 20/23] Update docs/public-networks/concepts/transactions/pool.md Signed-off-by: Alexandra Tran Carrillo <12214231+alexandratran@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 55a604fb71c..18b4f6de365 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -108,6 +108,7 @@ You can configure and monitor the transaction pool using the following methods, | [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | | Subscription | Description | +|--------------|-------------| | [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify of transactions added to the transaction pool. | | [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify of transactions dropped from the transaction pool. | From 0d919818fb1e38f2dc50603c365324fb0c7ee486 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:22:28 -0700 Subject: [PATCH 21/23] reformat table Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- .../concepts/transactions/pool.md | 52 ++++++++----------- 1 file changed, 23 insertions(+), 29 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 18b4f6de365..27e908b077b 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -16,7 +16,7 @@ Transaction pools are categorized into the following two types: * [Layered](#layered-transaction-pool) - Recommended for public blockchain networks. * [Sequenced](#sequenced-transaction-pool) - Recommended for private blockchain networks. -You can use specific options and methods to [configure and monitor the transaction pool](#transaction-pool-options-and-methods). +You can use specific options and methods to [configure and monitor the transaction pool](#transaction-pool-methods-and-options). :::note When submitting [private transactions](../../../private-networks/concepts/privacy/private-transactions/index.md#nonce-validation), @@ -101,34 +101,28 @@ or free gas networks: You can configure and monitor the transaction pool using the following methods, subscriptions, and options: -| Method | Description | -|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | -| [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | -| [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | - -| Subscription | Description | -|--------------|-------------| -| [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify of transactions added to the transaction pool. | -| [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify of transactions dropped from the transaction pool. | - - -| Option | Description | -|----------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| -| [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | -| [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore) | Option to enable save and restore functionality for the transaction pool. | -| [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the transaction pool. | -| [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage) | Option to limit the transaction pool by account percentage. | -| [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender) | Option to specify the maximum number of future transactions by sender. | -| [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | -| [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type) | Option to specify the maximum number of prioritized transactions by type. | -| [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | -| [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | -| [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | -| [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | -| [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | -| [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | -| [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | + +| Category | Name | Description | +|----------------|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| +| Method | [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | +| Method | [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | +| Method | [`txpool_besuPendingTransactions`](../../reference/api/index.md#txpool_besupendingtransactions) | API method to list pending transactions in the transaction pool. | +| Subscription | [`newPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#pending-transactions) | RPC subscription to notify of transactions added to the transaction pool. | +| Subscription | [`droppedPendingTransactions`](../../how-to/use-besu-api/rpc-pubsub.md#dropped-transactions) | RPC subscription to notify of transactions dropped from the transaction pool. | +| Option | [`--tx-pool`](../../reference/cli/options.md#tx-pool) | Option to specify the type of transaction pool to use. | +| Option | [`--tx-pool-enable-save-restore`](../../reference/cli/options.md#tx-pool-enable-save-restore) | Option to enable save and restore functionality for the transaction pool. | +| Option | [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) | Option to specify the maximum memory capacity of the layered transaction pool. | +| Option | [`--tx-pool-limit-by-account-percentage`](../../reference/cli/options.md#tx-pool-limit-by-account-percentage) | Option to limit the transaction pool by account percentage. | +| Option | [`--tx-pool-max-future-by-sender`](../../reference/cli/options.md#tx-pool-max-future-by-sender) | Option to specify the maximum number of future transactions by sender. | +| Option | [`--tx-pool-max-prioritized`](../../reference/cli/options.md#tx-pool-max-prioritized) | Option to specify the maximum number of prioritized transactions. | +| Option | [`--tx-pool-max-prioritized-by-type`](../../reference/cli/options.md#tx-pool-max-prioritized-by-type) | Option to specify the maximum number of prioritized transactions by type. | +| Option | [`--tx-pool-max-size`](../../reference/cli/options.md#tx-pool-max-size) | Option to specify the maximum size of the transaction pool. | +| Option | [`--tx-pool-min-gas-price`](../../reference/cli/options.md#tx-pool-min-gas-price) | Option to specify the minimum gas price for transactions in the pool. | +| Option | [`--tx-pool-no-local-priority`](../../reference/cli/options.md#tx-pool-no-local-priority) | Option to disable local priority for transactions. | +| Option | [`--tx-pool-price-bump`](../../reference/cli/options.md#tx-pool-price-bump) | Option to specify the price bump percentage to replace an existing transaction. | +| Option | [`--tx-pool-priority-senders`](../../reference/cli/options.md#tx-pool-priority-senders) | Option to specify sender addresses to prioritize in the transaction pool. | +| Option | [`--tx-pool-retention-hours`](../../reference/cli/options.md#tx-pool-retention-hours) | Option to specify the number of hours to retain transactions in the pool. | +| Option | [`--tx-pool-save-file`](../../reference/cli/options.md#tx-pool-save-file) | Option to specify the file for saving the transaction pool state. | :::note The option [`--tx-pool-layer-max-capacity`](../../reference/cli/options.md#tx-pool-layer-max-capacity) is applicable only for [layered transaction pools](#layered-transaction-pool). From 39b51d699958ab0ef2d2cbfce0dc7f8aa32f3404 Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 12:43:57 -0700 Subject: [PATCH 22/23] remove space Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 27e908b077b..4e5bf7dbebf 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -101,8 +101,7 @@ or free gas networks: You can configure and monitor the transaction pool using the following methods, subscriptions, and options: - -| Category | Name | Description | +| | Name | Description | |----------------|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------| | Method | [`txpool_besuTransactions`](../../reference/api/index.md#txpool_besutransactions) | API method to list transactions in the transaction pool. | | Method | [`txpool_besuStatistics`](../../reference/api/index.md#txpool_besustatistics) | API method to list statistics of the transaction pool. | From 074754d6e9d620f994b050e665f8cade50d4b90c Mon Sep 17 00:00:00 2001 From: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> Date: Wed, 12 Jun 2024 13:43:59 -0700 Subject: [PATCH 23/23] Update link Signed-off-by: Joan E <153745173+joaniefromtheblock@users.noreply.github.com> --- docs/public-networks/concepts/transactions/pool.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index 4e5bf7dbebf..ae949e2a182 100644 --- a/docs/public-networks/concepts/transactions/pool.md +++ b/docs/public-networks/concepts/transactions/pool.md @@ -61,7 +61,8 @@ consistent and transparent transaction order, which is often useful in private b You can select the sequenced transaction pool by setting [`--tx-pool=sequenced`](../../reference/cli/options.md#tx-pool). -If you set the enterprise configuration profile using [`--profile=enterprise`](../../reference/cli/options.md#enterpriseprivate-profile) or [`--profile=private`](../../reference/cli/options.md#enterpriseprivate-profile), the `sequenced` transaction pool is set by default. +If you set the enterprise configuration profile using [`--profile=enterprise`](../../how-to/use-configuration-file/profile.md#enterpriseprivate-profile) or [`--profile=private`](../../how-to/use-configuration-file/profile.md#enterpriseprivate-profile), the `sequenced` transaction pool is set by default. + The sequenced transaction pool suits enterprise environments because it functions like a first-in-first-out (FIFO) queue and processes transactions in the order of submission, regardless of the sender. When the pool reaches capacity, the newer transactions are evicted first, reducing the likelihood of a nonce gap and avoiding the need to resubmit older transactions.