-
-
Notifications
You must be signed in to change notification settings - Fork 300
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
docs: re-implement validator config page with builder.boostFactor notes #6295
Conversation
Performance Report✔️ no performance regression detected Full benchmark results
|
docs/mkdocs.yml
Outdated
@@ -81,20 +81,21 @@ nav: | |||
- Starting a Node: getting-started/starting-a-node.md | |||
- Data Retention: data-retention.md | |||
- Beacon Node: | |||
- Configuration: beacon-management/beacon-cli.md | |||
- Beacon CLI Reference: beacon-management/beacon-cli.md |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I like the renaming 👍
Codecov Report
Additional details and impacted files@@ Coverage Diff @@
## unstable #6295 +/- ##
=========================================
Coverage 80.38% 80.38%
=========================================
Files 202 202
Lines 19620 19620
Branches 1176 1176
=========================================
Hits 15771 15771
Misses 3821 3821
Partials 28 28 |
@@ -17,7 +17,7 @@ The mnemonic is randomly generated during wallet creation and printed out to the | |||
|
|||
### Create a wallet | |||
|
|||
Lodestar is deprecating its functionality to create wallets. | |||
Lodestar has removed its functionality to create wallets. | |||
|
|||
To create a wallet, we recommend using the official [`staking-deposit-cli`](https://github.com/ethereum/staking-deposit-cli/releases) from the Ethereum Foundation for users comfortable with command line interfaces. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The term wallet here might be a bit outdated, maybe should use term keystores, or we use same wording as deposit cli introduction.
Maybe "keystores and corresponding deposit data" but since the whole section is about "Create a wallet" maybe better to revise that part in a separate PR.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Will follow up in another PR with the best way to align this. TBH, I'm still kinda wondering if we need this as generally, most go through the Ethereum launchpad which provides all these instructions for them already. This whole section has been around for a long time when Lodestar had these features and before the existence of a lot of this tooling + other references.
Co-authored-by: Nico Flaig <[email protected]>
LGTM, only thing is failing docs spellcheck, see #6294 (comment) |
|
||
With Lodestar's `--builder.selection` options, you can select: | ||
- `maxprofit`: Default setting for Lodestar set at `--builder.boostFactor=100`. This default setting will always choose the more profitable block. Using this option, you may customize your `--builder.boostFactor` to your preference. Examples of its usage are below. | ||
- `executiononly`: Validator will not select the builder block even if builder relays are configured on the beacon. This option will always select the local execution block. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- `executiononly`: Validator will not select the builder block even if builder relays are configured on the beacon. This option will always select the local execution block. | |
- `executiononly`: Beacon will not produce/select the builder block even if builder relays are configured on the beacon. This option will always select the local execution block and will error if it couldn't produce one. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is what Lodestar beacon node does but we should ideally describe how the validator client behaves here as this configuration page related to the vc configuration.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have updated the description based on the suggestion 9e329d4 (with slight modification)
|
||
Example 2: Setting a `--builder.boostFactor=100` is the same as signaling `--builder.selection maxprofit` where the validator will always select the most profitable block between the local execution engine and the builder block from the relay. | ||
|
||
Example 3: Setting `--builder.boostFactor=80` allows you to signal that your builder block bid needs 20% more in value comparatively to your local execution block to be selected. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just noticed, the example is not correct.
Let's assume a local block value of 100, if builder block has value of 120 (20% more) it will still pick local block
120 * 0.80 = 96
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its inverse relationship so need 25% more (100/0.8 -100)
- `maxprofit`: Default setting for Lodestar set at `--builder.boostFactor=100`. This default setting will always choose the more profitable block. Using this option, you may customize your `--builder.boostFactor` to your preference. Examples of its usage are below. | ||
- `executiononly`: Validator will not select the builder block even if builder relays are configured on the beacon. This option will always select the local execution block. | ||
- `builderalways`: An alias of `--builder.boostFactor=18446744073709551615` (2**64 - 1), which will select the builder block, unless the builder block fails to produce. The builder block may fail to produce if it's not available, not timely or there is an indication of censorship via shouldOverrideBuilder from the execution payload response. | ||
- `builderonly`: Generally used for distributed validators (DVs). No execution block production will be triggered. Therefore, if a builder block is not produced, the API will fail and *no block will be produced*. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we should also probably add executionalways
which will be alias of --builder.boostFactor=0
which will always return execution block unless its not produced or not timely which might then respond with a builder (we don't have this option now in validator but will be good for the sake of completeness)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM!! 🚀
@@ -105,7 +125,7 @@ To start a Lodestar validator run the command: | |||
|
|||
You should see confirmation that modules have started. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The sh should stay in here
"```sh"
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Those are logs, bash syntax highlighting looks wrong
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Doesn't really benefit the docs if it doesn't look similar to what you would actually even see in your terminal. Just leaving as txt should be fine
``` | ||
10000/(100+20) = 83.3 | ||
``` | ||
Therefore, `--builder.boostFactor=83.3`. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Bad news, we don't support floating point numbers (must be integer)
✖ SyntaxError: Cannot convert 83.3 to a BigInt
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me now, applied suggestions from @g11tech and fixed example to use an integer value as --builder.boostFactor
does not support floating point numbers
…es (ChainSafe#6295) * Change docs nav titles and include vc config * Rename and re-include config with builder boost * refactor builderboostFactor from comments * add clarification to maxprofit * clarification on intro Co-authored-by: Nico Flaig <[email protected]> * address additional comments * Remove redundancies in navigation menu * Just formatting changes * Update wordlist * Use term "beacon node", more consistent with text above * Apply some feedback from Gajinder * fix builder boost factor math example * Use integer value in Example 1 * Update executiononly description --------- Co-authored-by: Nico Flaig <[email protected]>
🎉 This PR is included in v1.15.0 🎉 |
Motivation
Re-implement the validator configuration page in the docs with some new material for the v1.14 release.
Description
This builds upon #5961 to re-include the validator configuration page which was missed in the docs navigation.
This PR also changes nav titles so "Configuration" is renamed to "CLI Reference" for greater clarity of the page.
This also includes notes for users about the new builder.boostFactor implemented in v1.14 and in anticipation of produceBlockV3 migration post-Deneb.