Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

1611(docs): improves clarity for profile #1631

Closed
wants to merge 28 commits into from
Closed
Show file tree
Hide file tree
Changes from 19 commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
a329e27
:1611(docs): improves clarity for profile
m4sterbunny Jun 24, 2024
3e426e5
:1611(docs): reverts commenting out tab
m4sterbunny Jun 24, 2024
2ba1817
Add bonsai-limit-trie-logs options and update how to page (#1627)
siladu Jun 24, 2024
2a76c03
update PR template
joaniefromtheblock Jun 24, 2024
bccb784
Update minimum Java version. (#1633)
bgravenorst Jun 25, 2024
b6801b3
1576(docs): documents config option (#1632)
m4sterbunny Jun 25, 2024
e1c2415
fixes 1615:temp redirect to perm (#1635)
m4sterbunny Jun 26, 2024
dfbc06b
fixes:1620 deprecates old image improves new (#1636)
m4sterbunny Jun 26, 2024
17fe8d8
Automate the Besu version update (#1638)
cdivitotawela Jun 27, 2024
816a633
1577: adds price bump config (#1639)
m4sterbunny Jun 27, 2024
b49a2eb
Promote x-trie-log subcommand to trie-log (#1640)
siladu Jun 28, 2024
b7e4cae
Remove space from metadata
joaniefromtheblock Jun 28, 2024
ed341e8
Copy edits for consistency (#1641)
joaniefromtheblock Jun 28, 2024
5ec81c6
resets profile page following discussion
m4sterbunny Jul 1, 2024
95e392c
as per discussion: provides page to discuss boilerplate configs
m4sterbunny Jul 1, 2024
d87f2be
advances boilerplate configs
m4sterbunny Jul 1, 2024
195102a
triggering commit to sign
m4sterbunny Jul 1, 2024
4f0a259
Merge branch 'main' into 1611-clarify-profile
m4sterbunny Jul 1, 2024
8336851
Merge branch 'main' into 1611-clarify-profile
joaniefromtheblock Jul 1, 2024
bf7c61b
Update docs/public-networks/how-to/use-configuration-file/profile.md
m4sterbunny Jul 2, 2024
112ea80
reworks following proof round
m4sterbunny Jul 2, 2024
913f2e6
Update docs/public-networks/how-to/use-configuration-file/defaults.md
m4sterbunny Jul 2, 2024
c6c48c4
reworks following proof round
m4sterbunny Jul 2, 2024
d8cc6a4
aligns remote with local
m4sterbunny Jul 2, 2024
0534586
small proofs
m4sterbunny Jul 2, 2024
f3371bc
reworks following proof round
m4sterbunny Jul 2, 2024
8e834c8
reworks following proof round
m4sterbunny Jul 2, 2024
7902925
signing
m4sterbunny Jul 2, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 43 additions & 0 deletions docs/public-networks/how-to/use-configuration-file/defaults.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: Default configurations
sidebar_position: 1
todo: For future maintenance, this page would be better setup to import single-sourced partials that also serve the cli/options page. However, for PoC, the duplication/poor maintainability is tollerated for now.
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved
---

m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved
While Besu is [highly-configurable](index.md#configuration-order-of-precedence), Besu's default configurations provide a viable boilerplate.
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved


## Defaults overview
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved

The following provides a high level overview of the opinionated default configurations of vanilla Besu. By applying these defaults, a node is optimized for staking. These defaults may be used alongside a [pre-configured profile](profile.md) to support common use cases.

:::note
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved

For example, applying the [staking profile](profile.md#staker-profile) with the boilerplate config directs Besu to use mainnet — instantiating a staking-optimized node ready to be run alongside a [validator](https://ethereum.org/en/developers/docs/nodes-and-clients/node-architecture/#validators) and [consensus client](https://ethereum.org/en/developers/docs/nodes-and-clients/node-architecture/#consensus-client).
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved

:::

### Configuration

|Command|Default|Notes|
|---------------------------|--------------------|------------------------------------------|
|[`config-file`](../../reference/cli/options/#config-file)|None|Vanilla Besu assumes no configuration file|


### Storage

|Command|Default|Notes|
|---------------------------|--------------------|------------------------------------------|
|[`data-storage-format`](../../reference/cli/options/#data-storage-format)|BONSAI|Besu applies the most space-effiecient storage method|

### Peering

|Command|Default|Notes|
|---------------------------|--------------------|------------------------------------------|
|[`discovery-enabled`](../../reference/cli/options/#discovery-enabled)|True|Besu assumes the node will connect P2P|
|[`p2p-enabled`](../../reference/cli/options/#discovery-enabled)|True|Besu assumes the node will connect P2P|
|[`engine-rpc-enabled`](../../reference/cli/options/#engine-rpc-enabled)|True|Besu assumes the Engine API will be required to communicate with the consensus layer|

:::note
For a comprehensive understanding, all defaults are provided in the [reference](../../reference/cli/options.md).
:::
8 changes: 2 additions & 6 deletions docs/public-networks/how-to/use-configuration-file/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,9 @@ tags:
- private networks
---

# Use a configuration file
A TOML configuration file simplifes overriding [default configuration settings](defaults.md) and reuse of configurations across node startups.

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.
Specify the configuration file using the [`--config-file`](../../reference/cli/options.md#config-file) CLI option. Configuration files may be [used alongside a pre-configured profile](profile.md) for some common use cases.

:::note

Expand Down
65 changes: 33 additions & 32 deletions docs/public-networks/how-to/use-configuration-file/profile.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,27 @@
---
sidebar_position: 1
title: Use a profile
sidebar_position: 2
---

# Use a profile
Load a profile using the [`--profile` CLI option](../../reference/cli/options.md#profile).

Profiles are optionally used extend Besu's configuration. They may be used together with the [boilerplate configuration](defaults.md) to apply sensible defaults. Besu's pre-configured profiles optimize for the following supported use cases:
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved

- [Minimalist staker profile](#minimalist-staker-profile)
- [Staker profile](#staker-profile)
- [Enterprise/Private profile](#enterpriseprivate-profile)


:::note

A configuration explicitly set in the configuration file or command line will
[override the same option/s](index.md#configuration-order-of-precedence) set in the profile.

:::


<!-- IMO this is all redundancy -- fully supported by the linked page above

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
Expand All @@ -15,55 +30,44 @@ 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)
-->

## 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
`--profile=minimalist_staker` 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
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved
[minimalist staker profile on GitHub](https://github.com/hyperledger/besu/blob/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/minimalist-staker.toml)
for the custom settings.

<!-- IMO this is all redundancy -- fully supported by the linked page above

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
`--profile=staker` 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/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/staker.toml)
for the custom settings.

<!-- IMO this is all redundancy -- fully supported by the linked page above

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)
`--profile=private` / `--profile=enterprise` 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/8b64023a121ea996ef60e4b7e2299c5807683f90/config/src/main/resources/profiles/enterprise-private.toml)
for the custom settings.

<!-- IMO this is all redundancy -- fully supported by the linked page above

To use the enterprise/private profile, run Besu with
m4sterbunny marked this conversation as resolved.
Show resolved Hide resolved
[`--profile`](../../reference/cli/options.md#profile) set to `enterprise` or `private`:

Expand All @@ -76,7 +80,4 @@ or
```bash
besu --profile=private
```

:::note
`enterprise` and `private` are aliases for the same profile.
:::
-->
7 changes: 4 additions & 3 deletions docs/public-networks/reference/cli/options.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would take "wish" out

https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/w/want

Maybe something like:

Suggested change
Use `UPNPP2PONLY` if you wish to enable UPnP for P2P traffic but not JSON-RPC.
Use `UPNPP2PONLY` to enable UPnP for P2P traffic but not JSON-RPC.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Er -- don't want to stray too far from issue >> this will need its own issue. My OC just couldn't help itself and corrected p2p


:::

Expand Down Expand Up @@ -2961,6 +2960,8 @@ Possible values are:
- [`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)

The default is `null`.

### `random-peer-priority-enabled`

<Tabs>
Expand Down
Loading