diff --git a/README.md b/README.md index 38b36ce..92c9fd8 100644 --- a/README.md +++ b/README.md @@ -106,7 +106,11 @@ All variables which can be overridden are stored in [defaults/main.yml](defaults | `besu_privacy_marker_tx_signing_key_file` | "" | Path of the private key file used to sign Privacy Marker Transactions. If you do not specify this option, Besu signs each transaction with a different randomly generated key. | | `besu_xdns_enabled` | "false" | DNS support with a trusted DNS provider in private networks because of limitations where IP addresses can change. For example, when using Kubernetes pods | | `besu_target_gas_limit` | ___unset___ | Configuration of the target gas limit | - +| `besu_tx_pool_limit_by_account_percentage` | 5 | The maximum number of transactions in a block, per account. Defaults to 5 top prevent a DDOS attack. This uses a float value [0..1], so setting it to 1 means a single sender can fill the entire tx pool. | +| `besu_tx_pool_future_max_by_account` | 64 | The maximum number of future transactions kept in the transaction pool, per account. | +| `besu_tx_pool_max_size` | 4096 | The maximum number of transactions kept in the transaction pool | +| `besu_tx_pool_price_bump` | 10 | The price bump percentage to replace an existing transaction | +| `besu_tx_pool_retention_hours` | 13 | The maximum period, in hours, to hold pending transactions in the transaction pool | ### Example Playbook diff --git a/defaults/main.yml b/defaults/main.yml index ae610ac..069d396 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -76,6 +76,13 @@ besu_local_permissions_accounts: [] besu_local_permissions_nodes: [] besu_xdns_enabled: "false" besu_static_nodes: [] +# float values in the range [0..1], 1=single sender can fill the entire tx pool +# https://github.com/hyperledger/besu/issues/4611 +besu_tx_pool_limit_by_account_percentage: 1 +besu_tx_pool_future_max_by_account: 64 +besu_tx_pool_max_size: 4096 +besu_tx_pool_price_bump: 10 +besu_tx_pool_retention_hours: 13 # privacy besu_privacy_enabled: "false" diff --git a/templates/config.toml.j2 b/templates/config.toml.j2 index 176df3a..428347a 100644 --- a/templates/config.toml.j2 +++ b/templates/config.toml.j2 @@ -32,7 +32,6 @@ engine-host-allowlist=[{{besu_engine_host_allowlist|map('to_json')|join(',')}}] {% endif %} {% endif %} - {% if besu_node_private_key_file != "" %} # private_key node-private-key-file="{{besu_node_private_key_file}}" @@ -121,6 +120,13 @@ p2p-port={{besu_p2p_port}} max-peers={{besu_max_peers}} {% endif %} +# tx pool +tx-pool-limit-by-account-percentage={{ besu_tx_pool_limit_by_account_percentage }} +tx-pool-future-max-by-account={{ besu_tx_pool_future_max_by_account }} +tx-pool-max-size={{ besu_tx_pool_max_size }} +tx-pool-price-bump={{ besu_tx_pool_price_bump }} +tx-pool-retention-hours={{ besu_tx_pool_retention_hours }} + # metrics metrics-enabled=true metrics-host="{{besu_metrics_host}}"