Skip to content

Commit d7e9c33

Browse files
tersecarnetheduck
andauthored
document external block builder configuration (#4032)
* document external block builder configuration * Update docs/the_nimbus_book/src/external-block-builder.md Co-authored-by: Jacek Sieka <[email protected]> * unhide external payload builder options * clarify builder API incentive misalignment Co-authored-by: Jacek Sieka <[email protected]>
1 parent e87b7f1 commit d7e9c33

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

beacon_chain/conf.nim

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -548,13 +548,11 @@ type
548548
name: "suggested-fee-recipient" .}: Option[Address]
549549

550550
payloadBuilderEnable* {.
551-
hidden
552551
desc: "Enable external payload builder"
553552
defaultValue: false
554553
name: "payload-builder" .}: bool
555554

556555
payloadBuilderUrl* {.
557-
hidden
558556
desc: "Payload builder URL"
559557
defaultValue: ""
560558
name: "payload-builder-url" .}: string

docs/the_nimbus_book/mkdocs.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ nav:
6464
- 'connect-eth2.md'
6565
- 'graffiti.md'
6666
- 'suggested-fee-recipient.md'
67+
- 'external-block-builder.md'
6768
- 'keep-an-eye.md'
6869
- 'voluntary-exit.md'
6970
- 'more-keys.md'
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
# Set up block builders
2+
3+
[Maximal extractable value](https://ethereum.org/en/developers/docs/mev/) involves consensus clients contacting an external block builder which might maximize profit or some other defined metric in ways hindered for a purely local consensus and execution client setup. This external builder network uses the [builder API](https://ethereum.github.io/builder-specs/) which consensus clients use to access external block builder bundles found by searchers. In exchange, such searchers and builders might choose to retain some of the profit gained from such bundles. A builder API relay provides access to multiple searchers via a single URL.
4+
5+
Nimbus supports this API to access these external block builders. If one is configured, the block production flow becomes modified:
6+
1. attempt to use the specified external block builder relay or builder to create an execution payload
7+
2. if the external block builder builder or relay doesn't function, and Nimbus has not signed a blinded beacon block, then fall back to existing local execution client to produce a block
8+
9+
There exists a failure mode, intrinsic to the builder API, wherein the consensus client has signed a blinded proposal and therefore even if the external block builder relay or builder doesn't provide a full block, a consensus client such as Nimbus cannot safely proceed with step 2 and fall back on its local execution client.
10+
11+
!!! note
12+
By default, [priority and maximum gas fees](https://eips.ethereum.org/EIPS/eip-1559#abstract) determine transaction inclusion in blocks, but external block builders may use other strategies for transaction selection, which might involve regulatory constraints and extracted value. For further information, check the documentation of the block builder.
13+
14+
## Command line option
15+
16+
=== "Mainnet"
17+
```sh
18+
./run-mainnet-beacon-node.sh --payload-builder=true --payload-builder-url=https://${HOST}:${PORT}/
19+
```
20+
21+
=== "Prater"
22+
```sh
23+
./run-prater-beacon-node.sh --payload-builder=true --payload-builder-url=https://${HOST}:${PORT}/
24+
```

docs/the_nimbus_book/src/suggested-fee-recipient.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,5 +21,5 @@ For example, `nimbus_beacon_node --suggested-fee-recipient=0x70E47C843E0F6ab0991
2121

2222
=== "Prater"
2323
```sh
24-
./run-mainnet-beacon-node.sh --suggested-fee-recipient=0x70E47C843E0F6ab0991A3189c28F2957eb6d3842
24+
./run-prater-beacon-node.sh --suggested-fee-recipient=0x70E47C843E0F6ab0991A3189c28F2957eb6d3842
2525
```

0 commit comments

Comments
 (0)