MEV Configuration¶
For MEV, Vero behaves like a traditional validator client. Vero does not communicate directly with MEV relays. Instead, connected beacon nodes handle that role through sidecars like mev-boost or Commit-Boost.
flowchart RL
Lighthouse <--> Vero
mev-boost <--> Lighthouse
RA(Relay A) <--> mev-boost
RB(Relay C) <--> mev-boost
RC(Relay B) <--> mev-boost
style Vero fill:#11497E,stroke:#000000
If you want Vero to use external builders when proposing
blocks, all you need to do is pass the
--use-external-builder
CLI flag. With this flag,
Vero will regularly register its connected validators
with MEV relays.
MEV and multiple beacon nodes¶
By default, Vero uses the first connected beacon node
to submit its validator registrations
(= the first URL provided in the --beacon-node-urls
CLI argument).
Therefore, ensure that the first connected beacon node is connected to all the MEV relays you wish to use.
Having said that, there are multiple choices you can make when it comes to setting this up in a multi-client environment.
Option 1: Point all beacon nodes to a single mev-boost instance:
flowchart RL
%% VC<->CL
Lighthouse <--> Vero
Lodestar <--> Vero
Teku <--> Vero
%% CL<->EL
mev-boost <--> Lighthouse
mev-boost <--> Lodestar
mev-boost <--> Teku
style Vero fill:#11497E,stroke:#000000
Option 2: Deploy a separate mev-boost instance for each client pair:
flowchart RL
%% VC<->CL
Lighthouse <--> Vero
Lodestar <--> Vero
Teku <--> Vero
%% CL<->EL
MB1(mev-boost 1) <--> Lighthouse
MB2(mev-boost 2) <--> Lodestar
MB3(mev-boost 3) <--> Teku
style Vero fill:#11497E,stroke:#000000