diff --git a/docs/private-networks/get-started/start-node.md b/docs/private-networks/get-started/start-node.md index d28abdfd750..ef1f8f57c22 100644 --- a/docs/private-networks/get-started/start-node.md +++ b/docs/private-networks/get-started/start-node.md @@ -66,7 +66,7 @@ To run a node that mines blocks at a rate suitable for testing purposes: besu --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-allowlist="*" --rpc-ws-enabled --rpc-http-enabled --data-path=/tmp/tmpDatdir ``` -You can also use the following [configuration file](../../public-networks/how-to/use-configuration-file/index.md) on the command line to start a node with the same options as above: +You can also use the following [configuration file](../../public-networks/how-to/configure-besu/index.md) on the command line to start a node with the same options as above: ```toml network="dev" @@ -107,7 +107,7 @@ You might need to set [`--tx-pool-limit-by-account-percentage`](../../public-net :::note Sync nodes for BFT -If you're running a node on a [QBFT](../how-to/configure/consensus/qbft.md) or [IBFT 2.0](../how-to/configure/consensus/ibft.md) network, your node must use [fast sync](../../public-networks/get-started/connect/sync-node#fast-synchronization) or [full sync](../../public-networks/get-started/connect/sync-node#run-an-archive-node). +If you're running a node on a [QBFT](../how-to/configure/consensus/qbft.md) or [IBFT 2.0](../how-to/configure/consensus/ibft.md) network, your node must use [fast sync](../../public-networks/get-started/connect/sync-node.md#fast-synchronization) or [full sync](../../public-networks/get-started/connect/sync-node.md#run-an-archive-node). Full sync is set by default. diff --git a/docs/private-networks/how-to/index.md b/docs/private-networks/how-to/index.md index 6a5a70e3a3a..0115cd0a1e7 100644 --- a/docs/private-networks/how-to/index.md +++ b/docs/private-networks/how-to/index.md @@ -11,7 +11,7 @@ This section provides instructional content for private network features. The following features are shared with [public networks](../../public-networks/index.md) and the content can be found in the public networks section: - Configure and manage: - - [Use a configuration file](../../public-networks/how-to/use-configuration-file/index.md) + - [Use a configuration file](../../public-networks/how-to/configure-besu/index.md) - [Configure high availability](../../public-networks/how-to/configure-ha/index.md) - [Configure mining](../../public-networks/how-to/use-pow/mining.md) - [Use the Besu API](../../public-networks/how-to/use-besu-api/index.md): diff --git a/docs/private-networks/reference/cli/options.md b/docs/private-networks/reference/cli/options.md index 29695e89734..24ba7ff03a4 100644 --- a/docs/private-networks/reference/cli/options.md +++ b/docs/private-networks/reference/cli/options.md @@ -37,7 +37,7 @@ You can specify Besu options: For example, set `--miner-coinbase` using the `BESU_MINER_COINBASE` environment variable. -- In a [configuration file](../../../public-networks/how-to/use-configuration-file/index.md). +- In a [configuration file](../../../public-networks/how-to/configure-besu/index.md). If you specify an option in more than one place, the order of priority is command line, environment variable, configuration file. diff --git a/docs/public-networks/concepts/genesis-file.md b/docs/public-networks/concepts/genesis-file.md index 499b1817655..c743109bd62 100644 --- a/docs/public-networks/concepts/genesis-file.md +++ b/docs/public-networks/concepts/genesis-file.md @@ -19,7 +19,7 @@ The genesis file specifies the [network-wide settings](../reference/genesis-item :::note -You can specify node-level settings on the command line or in the [node configuration file](../how-to/use-configuration-file/index.md). +You can specify node-level settings on the command line or in the [node configuration file](../how-to/configure-besu/index.md). ::: diff --git a/docs/public-networks/concepts/transactions/pool.md b/docs/public-networks/concepts/transactions/pool.md index ae949e2a182..01b02be9627 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`](../../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. +If you set the enterprise configuration profile using [`--profile=enterprise`](../../how-to/configure-besu/profile.md#enterpriseprivate-profile) or [`--profile=private`](../../how-to/configure-besu/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. diff --git a/docs/public-networks/get-started/connect/mainnet.md b/docs/public-networks/get-started/connect/mainnet.md index b16d074b809..14e72f66890 100644 --- a/docs/public-networks/get-started/connect/mainnet.md +++ b/docs/public-networks/get-started/connect/mainnet.md @@ -54,7 +54,7 @@ Save the password you use to generate each key pair in a `.txt` file. You should ### 3. Start Besu -Run the following command or specify the options in a [configuration file](../../how-to/use-configuration-file/index.md): +Run the following command or specify the options in a [configuration file](../../how-to/configure-besu/index.md): ```bash besu \ diff --git a/docs/public-networks/get-started/connect/testnet.md b/docs/public-networks/get-started/connect/testnet.md index 1237ef9c39e..689c7399909 100644 --- a/docs/public-networks/get-started/connect/testnet.md +++ b/docs/public-networks/get-started/connect/testnet.md @@ -46,7 +46,7 @@ If you're also running the consensus client as a validator client, create a test :::note -If you can't get ETH using the faucet, you can ask for help on the [EthStaker Discord](https://discord.io/ethstaker). +If you can't get testnet ETH using the faucet, you can ask for help on the [EthStaker Discord](https://discord.gg/ethstaker). ::: @@ -60,7 +60,7 @@ Save the password you use to generate each key pair in a `.txt` file. You should ### 3. Start Besu -Run the following command or specify the options in a [configuration file](../../how-to/use-configuration-file/index.md): +Run the following command or specify the options in a [configuration file](../../how-to/configure-besu/index.md): diff --git a/docs/public-networks/get-started/start-node.md b/docs/public-networks/get-started/start-node.md index 0badc2c9666..09bce3d1e04 100644 --- a/docs/public-networks/get-started/start-node.md +++ b/docs/public-networks/get-started/start-node.md @@ -57,7 +57,7 @@ To run a node that mines blocks at a rate suitable for testing purposes: besu --network=dev --miner-enabled --miner-coinbase=0xfe3b557e8fb62b89f4916b721be55ceb828dbd73 --rpc-http-cors-origins="all" --host-allowlist="*" --rpc-ws-enabled --rpc-http-enabled --data-path=/tmp/tmpDatdir ``` -You can also use the following [configuration file](../how-to/use-configuration-file/index.md) on the command line to start a node with the same options as above: +You can also use the following [configuration file](../how-to/configure-besu/index.md) on the command line to start a node with the same options as above: ```toml network="dev" diff --git a/docs/public-networks/how-to/configure-besu/index.md b/docs/public-networks/how-to/configure-besu/index.md new file mode 100644 index 00000000000..98bda1507ce --- /dev/null +++ b/docs/public-networks/how-to/configure-besu/index.md @@ -0,0 +1,113 @@ +--- +title: Configure Besu +description: Specify options in the Besu configuration file. +sidebar_position: 1 +tags: + - public networks + - private networks +--- + +# Configure Besu + +Besu comes with a [default configuration](#default-configuration) that is suitable for staking. + +You can override the default values by specifying [configuration options](../../reference/cli/options.md) on the command line, as environment variables, or in a [TOML configuration file](#toml-configuration-file) that can be reused across node startups. + +You can also use a [pre-configured profile](profile.md) for some common use cases or create and apply a [custom profile](profile.md#load-external-profiles). + +## Configuration order of precedence + +For options specified in multiple places, the order of precedence is as follows: + +1. Command line +2. Environment variable +3. Configuration file specified by `--config-file` +4. [Pre-configured profile](profile.md) specified by `--profile` +5. Default values (used if no other configuration source is available) + +For example, if you specify a `config.toml` configuration file and `staker` profile, and an option +is not found in the environment variables, Besu looks for it in `config.toml`. +If the option is not found in `config.toml`, Besu looks for it in `staker.toml`. +If the option is not found in `staker.toml`, Besu uses the default value for that option. + +## TOML configuration file + +:::note +The configuration file is used for node-level settings. You can specify network-wide settings in the [genesis file](../../concepts/genesis-file.md). +::: + +Specify the configuration file using the [`--config-file`](../../reference/cli/options.md#config-file) option. +The configuration file must be a valid TOML file composed of key/value pairs. Each key is the same as the corresponding command line option name without the leading dashes (`--`). + +Values must conform to TOML specifications for string, numbers, arrays, and booleans. Specific differences between the command line and the TOML file format are: + +- Comma-separated lists on the command line are string arrays in the TOML file. +- Enclose file paths, hexadecimal numbers, URLs, and <host:port> values in quotes. + +Table headings are ignored in TOML files. If you specify a valid Besu option under a table heading in the configuration file, Besu ignores the table heading and reads the option in the same way it does for options not under table headings. + +:::tip + +The [command line reference](../../reference/cli/options.md) includes configuration file examples for each option. + +::: + +```toml title="Sample TOML configuration file" +# Valid TOML config file +data-path="~/besudata" # Path + +# Network +bootnodes=["enode://001@123:4567", "enode://002@123:4567", "enode://003@123:4567"] + +p2p-host="1.2.3.4" +p2p-port=1234 +max-peers=42 + +rpc-http-host="5.6.7.8" +rpc-http-port=5678 + +rpc-ws-host="9.10.11.12" +rpc-ws-port=9101 + +# Chain +genesis-file="~/genesis.json" # Path to the custom genesis file + +# Mining +miner-enabled=true +miner-coinbase="0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" +``` + +```bash title="Starting Besu with a configuration file" +besu --config-file=/home/me/me_node/config.toml +``` +## Default configuration + +The following tables describe important default values of Besu's configuration. +When using the default configuration, Besu is optimized for staking. +You can extend these defaults using a [profile](profile.md). + +For example, extending the default configuration using the [staker profile](profile.md#staker-profile) directs Besu to use Mainnet, creating a staking-optimized node ready to run with a [validator and consensus client](../../concepts/node-clients.md#consensus-clients). + +### Peering + +|Configuration option|Default|Description| +|---------------------------|--------------------|------------------------------------------| +|[`discovery-enabled`](../../reference/cli/options.md#discovery-enabled)|`true`|Besu assumes the node will automatically discover other Ethereum nodes using P2P.| +|[`p2p-enabled`](../../reference/cli/options.md#p2p-enabled)|`true`|Besu assumes the node will connect P2P.| +|[`engine-rpc-enabled`](../../reference/cli/options.md#engine-rpc-enabled)|`true`|Besu assumes the Engine API will be required to communicate with the consensus layer.| + +### Storage + +|Configuration option|Default|Description| +|---------------------------|--------------------|------------------------------------------| +|[`data-storage-format`](../../reference/cli/options.md#data-storage-format)|`BONSAI`|Besu uses [Bonsai Tries](../../concepts/data-storage-formats.md#bonsai-tries), the most space-efficient data storage format.| + +### Sync + +|Configuration option|Default|Description| +|---------------------------|--------------------|------------------------------------------| +|[`sync-mode`](../../reference/cli/options.md#sync-mode)|`SNAP`|Besu syncs using [snap sync](../../get-started/connect/sync-node.md#snap-synchronization), the most time-efficient sync method.| + +:::note +You can see all default configuration values in the [configuration options reference](../../reference/cli/options.md). +::: diff --git a/docs/public-networks/how-to/configure-besu/profile.md b/docs/public-networks/how-to/configure-besu/profile.md new file mode 100644 index 00000000000..b7c87cf1ffe --- /dev/null +++ b/docs/public-networks/how-to/configure-besu/profile.md @@ -0,0 +1,74 @@ +--- +title: Use a profile +sidebar_position: 1 +tags: + - public networks + - private networks +--- + +# Use a profile + +You can load a profile to extend Besu's [default configuration](index.md#default-configuration), using the [`--profile`](../../reference/cli/options.md#profile) option. + +Profiles simplify the process of configuring Besu for common use cases. Besu provides the following pre-configured profiles: + +- [Minimalist staker profile](#minimalist-staker-profile) +- [Staker profile](#staker-profile) +- [Enterprise/Private profile](#enterpriseprivate-profile) + +Alternatively, you can customize and [load external profiles](#load-external-profiles). + +:::note +Run `./besu --help` to view all available profiles. +::: + +:::note + +A configuration option specified in the configuration file or on the command line +[overrides the same option](index.md#configuration-order-of-precedence) set in the profile. + +::: + +## Minimalist staker profile + +[`--profile=MINIMALIST_STAKER`](../../reference/cli/options.md#profile) is optimized for stakers who +want to maximize their hardware value but don't want to serve full sets of data to their peers, See the +[minimalist staker profile on GitHub](https://github.com/hyperledger/besu/blob/main/config/src/main/resources/profiles/minimalist-staker.toml) +for the custom settings. + +## Staker profile + +[`--profile=STAKER`](../../reference/cli/options.md#profile) is optimized for stakers who want to +maximize their hardware value while also serving full sets of data to their peers. See the +[staker profile on GitHub](https://github.com/hyperledger/besu/blob/main/config/src/main/resources/profiles/staker.toml) +for the custom settings. + +## Enterprise/Private profile + +`ENTERPRISE` and `PRIVATE` are aliases for the same profile. [`--profile=PRIVATE` / `--profile=ENTERPRISE`](../../reference/cli/options.md#profile) +supports private network operators and enterprises by handling specific use cases that apply to +private network operators. See the [enterprise/private profile on +GitHub](https://github.com/hyperledger/besu/blob/main/config/src/main/resources/profiles/enterprise-private.toml) +for the custom settings. + +When using this profile, set [`--sync-mode=FULL`](../../reference/cli/options.md#sync-mode) +and [`--data-storage-format=FOREST`](../../reference/cli/options.md#data-storage-format). + +## Load external profiles + +You can use external profiles to create custom Besu bundles with various plugins and their default options. + +Add external profiles to a `profiles` directory under the root Besu directory. +Run Besu with [`--profile`](../../reference/cli/options.md#profile) set to the external profile +file name, without the `.toml` extension. +For example, to load the `profiles/custom_profile.toml` profile, run: + +```bash +besu --profile=custom_profile +``` + +:::note +You can overwrite the directory in which to place external profiles using the `besu.profiles.dir` +system property. +::: + diff --git a/docs/public-networks/how-to/use-configuration-file/index.md b/docs/public-networks/how-to/use-configuration-file/index.md deleted file mode 100644 index 3d7f1f34242..00000000000 --- a/docs/public-networks/how-to/use-configuration-file/index.md +++ /dev/null @@ -1,83 +0,0 @@ ---- -title: Use a configuration file -sidebar_position: 3 -description: Specify options in the Besu configuration file. -tags: - - public networks - - private networks ---- - -# Use a configuration file - -You can specify command line options in a TOML configuration file. -Save the configuration file and reuse it across node startups. -Specify the configuration file using the [`--config-file`](../../reference/cli/options.md#config-file) CLI option. - -You can also [use a pre-configured profile](profile.md) for some common use cases. - -:::note - -The configuration file is used for node-level settings. You can specify network-wide settings in the [genesis file](../../concepts/genesis-file.md). - -::: - -## Configuration order of precedence - -For options specified in multiple places, the order of precedence is as follows: - -1. Command line -2. Environment variable -3. Configuration file specified by `--config-file` -4. [Pre-configured profile](profile.md) specified by `--profile` -5. Default values (used if no other configuration source is available) - -For example, if you specify a `config.toml` configuration file and `staker` profile, and an option -is not found in the environment variables, Besu looks for it in `config.toml`. -If the option is not found in `config.toml`, Besu looks for it in `staker.toml`. -If the option is not found in `staker.toml`, Besu uses the default value for that option. - -## TOML specification - -The configuration file must be a valid TOML file composed of key/value pairs. Each key is the same as the corresponding command line option name without the leading dashes (`--`). - -Values must conform to TOML specifications for string, numbers, arrays, and booleans. Specific differences between the command line and the TOML file format are: - -- Comma-separated lists on the command line are string arrays in the TOML file. -- Enclose file paths, hexadecimal numbers, URLs, and <host:port> values in quotes. - -Table headings are ignored in TOML files. If you specify a valid Besu option under a table heading in the configuration file, Besu ignores the table heading and reads the option in the same way it does for options not under table headings. - -:::tip - -The [command line reference](../../reference/cli/options.md) includes configuration file examples for each option. - -::: - -```toml title="Sample TOML configuration file" -# Valid TOML config file -data-path="~/besudata" # Path - -# Network -bootnodes=["enode://001@123:4567", "enode://002@123:4567", "enode://003@123:4567"] - -p2p-host="1.2.3.4" -p2p-port=1234 -max-peers=42 - -rpc-http-host="5.6.7.8" -rpc-http-port=5678 - -rpc-ws-host="9.10.11.12" -rpc-ws-port=9101 - -# Chain -genesis-file="~/genesis.json" # Path to the custom genesis file - -# Mining -miner-enabled=true -miner-coinbase="0xfe3b557e8fb62b89f4916b721be55ceb828dbd73" -``` - -```bash title="Starting Besu with a configuration file" -besu --config-file=/home/me/me_node/config.toml -``` diff --git a/docs/public-networks/how-to/use-configuration-file/profile.md b/docs/public-networks/how-to/use-configuration-file/profile.md deleted file mode 100644 index ab33f8e8ce2..00000000000 --- a/docs/public-networks/how-to/use-configuration-file/profile.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -sidebar_position: 1 ---- - -# Use a profile - -To help you get started quickly, Besu provides pre-configured profiles containing custom settings -for some common use cases. -You can load these profiles using the [`--profile`](../../reference/cli/options.md#profile) CLI option. -For example: - -```bash -besu --config-file=config.toml --profile=staker -``` - -In this example, `config.toml` is the user-provided [configuration file](index.md), and `staker` is -the pre-configured profile containing custom settings. - -Any configuration options explicitly set in the configuration file or command line will overwrite -the same options set in the profile. -See the [configuration order of precedence](index.md#configuration-order-of-precedence) for more information. - -You can use the following profiles: - -- [Minimalist staker profile](#minimalist-staker-profile) -- [Staker profile](#staker-profile) -- [Enterprise/Private profile](#enterpriseprivate-profile) - -You can also [load external profiles](#load-external-profiles). - -:::note -Run `./besu --help` to view all available profiles. -::: - -## Minimalist staker profile - -For stakers who want to maximize their hardware value but don't want to serve full sets of data to -their peers, Besu provides a minimalist staker profile. -See the -[minimalist staker profile on GitHub](https://github.com/hyperledger/besu/blob/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/minimalist-staker.toml) -for the custom settings. - -To use the minimalist staker profile, run Besu with -[`--profile`](../../reference/cli/options.md#profile) set to `minimalist_staker`: - -```bash -besu --profile=minimalist_staker -``` - -## Staker profile - -For stakers who want to maximize their hardware value and also want to serve full sets of data to -their peers, Besu providers a staker profile. -See the -[staker profile on GitHub](https://github.com/hyperledger/besu/blob/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/staker.toml) -for the custom settings. - -To use the staker profile, run Besu with [`--profile`](../../reference/cli/options.md#profile) set to `staker`: - -```bash -besu --profile=staker -``` - -## Enterprise/Private profile - -For private network operators who want to minimize confusion by setting sensible defaults, Besu -provides an enterprise/private profile. -This profile is designed to handle specific use cases for private network operators. -See the -[enterprise/private profile on GitHub](https://github.com/hyperledger/besu/blob/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/enterprise-private.toml) -for the custom settings. - -To use the enterprise/private profile, run Besu with -[`--profile`](../../reference/cli/options.md#profile) set to `enterprise` or `private`: - -```bash -besu --profile=enterprise -``` - -or - -```bash -besu --profile=private -``` - -:::note -`enterprise` and `private` are aliases for the same profile. -::: - -## Load external profiles - -You can use external profiles to create custom Besu bundles with various plugins and their default options. - -Add external profiles to a `profiles` directory under the root Besu directory. -Run Besu with [`--profile`](../../reference/cli/options.md#profile) set to the external profile -file name, without the `.toml` extension. -For example, to load the `profiles/custom_profile.toml` profile, run: - -```bash -besu --profile=custom_profile -``` - -:::note -You can overwrite the directory in which to place external profiles using the `besu.profiles.dir` -system property. -::: diff --git a/docs/public-networks/reference/cli/options.md b/docs/public-networks/reference/cli/options.md index 6b350f31af8..1bd9919862c 100644 --- a/docs/public-networks/reference/cli/options.md +++ b/docs/public-networks/reference/cli/options.md @@ -10,9 +10,8 @@ tags: import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; -# Command line options -This reference describes the syntax of the Hyperledger Besu command line interface (CLI) options. +This reference describes the syntax of the Hyperledger Besu configuration options. :::info @@ -38,7 +37,7 @@ You can specify Besu options: For example, set `--miner-coinbase` using the `BESU_MINER_COINBASE` environment variable. -- In a [configuration file](../../how-to/use-configuration-file/index.md). +- In a [configuration file](../../how-to/configure-besu/index.md). If you specify an option in more than one place, the order of priority is command line, environment variable, configuration file. @@ -662,7 +661,7 @@ BESU_CONFIG_FILE=/home/me/me_node/config.toml -The path to the [TOML configuration file](../../how-to/use-configuration-file/index.md). The default is `none`. +The path to the [TOML configuration file](../../how-to/configure-besu/index.md). The default is `none`. ### `data-path` @@ -2584,7 +2583,7 @@ UPnP support is often disabled by default in networking firmware. If disabled by :::tip -Use `UPNPP2PONLY` if you wish to enable UPnP for p2p traffic but not JSON-RPC. +Use `UPNPP2PONLY` if you wish to enable UPnP for P2P traffic but not JSON-RPC. ::: @@ -2977,21 +2976,21 @@ The P2P listening ports (UDP and TCP). The default is `30303`. You must [expose ```bash ---profile=staker +--profile=STAKER ``` ```bash -BESU_PROFILE=staker +BESU_PROFILE=STAKER ``` ```bash -profile="staker" +profile="STAKER" ``` @@ -3000,11 +2999,14 @@ profile="staker" Loads a pre-configured TOML file containing custom settings for a specific user profile. Possible values are: -- [`minimalist_staker`](../../how-to/use-configuration-file/profile.md#minimalist-staker-profile) -- [`staker`](../../how-to/use-configuration-file/profile.md#staker-profile) -- [`enterprise` or `private`](../../how-to/use-configuration-file/profile.md#enterpriseprivate-profile) (aliases for the same profile) -- File name of an [external profile](../../how-to/use-configuration-file/profile.md#load-external-profiles), - without the `.toml` extension +- [`MINIMALIST_STAKER`](../../how-to/configure-besu/profile.md#minimalist-staker-profile) +- [`STAKER`](../../how-to/configure-besu/profile.md#staker-profile) +- [`ENTERPRISE` or `PRIVATE`](../../how-to/configure-besu/profile.md#enterpriseprivate-profile) (aliases for the same profile) +- File name of an [external profile](../../how-to/configure-besu/profile.md#load-external-profiles), + without the `.toml` extension. + +The default is `null`. + ### `random-peer-priority-enabled` @@ -5175,11 +5177,11 @@ tx-pool="sequenced" Type of [transaction pool](../../concepts/transactions/pool.md) to use. -Set to `layered` to use the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool) implementation. +Set to `layered` to use the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool) implementation. The default is `layered`. -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). +Set to `sequenced` to use the [sequenced transaction pool](../../concepts/transactions/pool.md#sequenced-transaction-pool). +The default is `sequenced` for the [enterprise/private profile](../../how-to/configure-besu/profile.md#enterpriseprivate-profile). ### `tx-pool-blob-price-bump` @@ -5305,8 +5307,7 @@ tx-pool-layer-max-capacity="20000000" -Maximum amount of memory (in bytes) that any layer within the [layered transaction -pool](../../concepts/transactions/pool#layered-transaction-pool) can occupy. +Maximum amount of memory (in bytes) that any layer within the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool) can occupy. The default is `12500000`, or 12.5 MB. There are two memory-limited layers in the transaction pool, so the expected memory consumption is @@ -5356,7 +5357,7 @@ Accepted values are in the range `(0–1]`. The default is `.001`, or 0.1% of transactions from a single sender to be kept in the pool. :::caution -- With the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool) +- With the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool) implementation, this option is not applicable. Replace this option with [`--tx-pool-max-future-by-sender`](#tx-pool-max-future-by-sender) to specify the maximum number of sequential transactions from a single sender kept in the pool. @@ -5407,7 +5408,7 @@ tx-pool-max-future-by-sender="250" The maximum number of sequential transactions from a single sender kept in the -[layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool). +[layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool). The default is `200`. Increase this value to allow a single sender to fit more transactions in a single block. @@ -5453,7 +5454,7 @@ tx-pool-max-prioritized="1500" The maximum number of transactions that are prioritized in the -[layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool). +[layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool). The default is `2000`. For private networks, we recommend setting this value to the maximum number of transactions that fit @@ -5497,9 +5498,9 @@ tx-pool-max-prioritized-by-type="BLOB=6" -The maximum number of transactions of a specific [transaction type](../../concepts/transactions/types.md) that are prioritized in the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool). +The maximum number of transactions of a specific [transaction type](../../concepts/transactions/types.md) that are prioritized in the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool). -This option is mostly useful for tuning the amount of prioritized [blob transactions](../../concepts/transactions/types#blob-transactions) in the transaction pool. +This option is mostly useful for tuning the amount of prioritized [blob transactions](../../concepts/transactions/types.md#blob-transactions) in the transaction pool. Keeping the prioritized layer sorted is costly, and only a few blob transactions can fit in a block (currently a maximum of six). Tuning the maximum number of prioritized transactions by type can help maintain the efficiency and performance of the transaction pool. The default is `BLOB=6`. @@ -5546,7 +5547,7 @@ The maximum number of transactions kept in the [transaction pool](../../concepts The default is `4096`. :::caution -With the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool) +With the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool) implementation, this option is not applicable because the layered pool is limited by memory size instead of the number of transactions. To configure the maximum memory capacity, use [`--tx-pool-layer-max-capacity`](#tx-pool-layer-max-capacity). @@ -5673,8 +5674,8 @@ tx-pool-price-bump=25 -The price bump percentage to [replace an existing transaction in the transaction -pool](../../concepts/transactions/pool#replacing-transactions-with-the-same-sender-and-nonce). +The price bump percentage to +[replace an existing transaction in the transaction pool](../../concepts/transactions/pool.md#replacing-transactions-with-the-same-sender-and-nonce). For networks with a [base fee and priced gas](../../concepts/transactions/pool.md#in-networks-with-a-base-fee-and-priced-gas), the default is `10`, or 10%. For networks with [zero base fee, or free gas](../../concepts/transactions/pool.md#in-networks-with-zero-base-base-or-free-gas), the default is `0`. @@ -5763,7 +5764,7 @@ The maximum period (in hours) to hold pending transactions in the [transaction p The default is `13`. :::caution -With the [layered transaction pool](../../concepts/transactions/pool#layered-transaction-pool) +With the [layered transaction pool](../../concepts/transactions/pool.md#layered-transaction-pool) implementation, this option is not applicable because old transactions will expire when the memory cache is full. ::: diff --git a/docs/public-networks/reference/cli/subcommands.md b/docs/public-networks/reference/cli/subcommands.md index e0c898f1ab6..c327d8dd04f 100644 --- a/docs/public-networks/reference/cli/subcommands.md +++ b/docs/public-networks/reference/cli/subcommands.md @@ -323,7 +323,7 @@ besu --config-file config.toml storage revert-variables Reverts the modifications made by the [variables storage feature](https://github.com/hyperledger/besu/pull/5471). If you need to downgrade Besu, first run this subcommand specifying the path to -the [configuration file](../../how-to/use-configuration-file/index.md) normally used to +the [configuration file](../../how-to/configure-besu/index.md) normally used to start Besu. ### `rocksdb usage` @@ -471,4 +471,4 @@ besu validate-config --config-file config.toml -Performs basic syntax validation of the specified [configuration file](../../how-to/use-configuration-file/index.md). Checks TOML syntax (for example, valid format and unmatched quotes) and flags unknown options. Doesn't check data types, and doesn't check dependencies between options (this is done at Besu startup). +Performs basic syntax validation of the specified [configuration file](../../how-to/configure-besu/index.md). Checks TOML syntax (for example, valid format and unmatched quotes) and flags unknown options. Doesn't check data types, and doesn't check dependencies between options (this is done at Besu startup). diff --git a/docs/public-networks/tutorials/besu-teku-mainnet.md b/docs/public-networks/tutorials/besu-teku-mainnet.md index 56f567ae53a..c8cc99784ab 100644 --- a/docs/public-networks/tutorials/besu-teku-mainnet.md +++ b/docs/public-networks/tutorials/besu-teku-mainnet.md @@ -49,7 +49,7 @@ You should also have a `.json` file for each validator key pair. ## 4. Start Besu -Run the following command or specify the options in a [configuration file](../how-to/use-configuration-file/index.md): +Run the following command or specify the options in a [configuration file](../how-to/configure-besu/index.md): ```bash besu \ diff --git a/docs/public-networks/tutorials/besu-teku-testnet.md b/docs/public-networks/tutorials/besu-teku-testnet.md index 088121dc806..7b554f08043 100644 --- a/docs/public-networks/tutorials/besu-teku-testnet.md +++ b/docs/public-networks/tutorials/besu-teku-testnet.md @@ -45,7 +45,7 @@ If you're also running Teku as a validator client, create a test Ethereum addres :::note -If you can't get ETH using the faucet, you can ask for help on the [EthStaker Discord](https://discord.io/ethstaker). +If you can't get ETH using the faucet, you can ask for help on the [EthStaker Discord](https://discord.com/invite/ethstaker). ::: @@ -59,7 +59,7 @@ Save the password you use to generate each key pair in a `.txt` file. You should ## 4. Start Besu -Run the following command or specify the options in a [configuration file](../how-to/use-configuration-file/index.md): +Run the following command or specify the options in a [configuration file](../how-to/configure-besu/index.md): diff --git a/docusaurus.config.js b/docusaurus.config.js index 113920f809b..0764c41c45f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -329,7 +329,11 @@ const config = { }, { from: "/public-networks/how-to/configuration-file", - to: "/public-networks/how-to/use-configuration-file", + to: "/development/public-networks/how-to/configure-besu", + }, + { + from: "/public-networks/how-to/use-configuration-file", + to: "/development/public-networks/how-to/configure-besu", }, { from: "/private-networks/tutorials/permissioning/onchain",