Running a distributed validator cluster with the builder API enabled will give the validators in the cluster access to the builder network. This builder network is a network of "Block Builders" who work with MEV searchers to produce the most valuable blocks a validator can propose.
MEV-Boost is one such product from Flashbots that enables you to ask multiple block relays (who communicate with the "Block Builders") for blocks to propose. The block that pays the largest reward to the validator will be signed and returned to the relay for broadcasting to the wider network. The end result for the validator is generally an increased APR as they receive some share of the MEV.
Before completing this guide, please check your cluster version, which can be found inside the cluster-lock.json file. If you are using cluster-lock version 1.7.0 or higher, Charon seamlessly accommodates all validator client implementations within a MEV-enabled distributed validator cluster.
For clusters with a cluster-lock.json version 1.6.0 and below, Charon is compatible only with Teku. Use the version history feature of this documentation to see the instructions for configuring a cluster in that manner (v0.16.0).
The following flags need to be configured on your chosen consensus client. A Flashbots relay URL is provided for example purposes, you should use the charon test mev command and select the two or three relays with the lowest latency to your node that also conform to your block building preferences. A public list of MEV relays is available here.
Teku can communicate with a single relay directly:
You should also consider adding --local-block-value-boost=3 as a flag, to favour locally built blocks if they are withing 3% in value of the relay block, to improve the chances of a successful proposal.
Lodestar can communicate with a single relay directly:
It can be difficult to confirm everything is configured correctly with your cluster until a proposal opportunity arrives, but here are some things you can check.
When your cluster is running, you should see if Charon is logging something like this each epoch:
This indicates that your Charon node is successfully registering with the relay for a blinded block when the time comes.
If you are using the ultrasound relay, you can enter your cluster's distributed validator public key(s) into their website, to confirm they also see the validator as correctly registered.
You should check that your validator client's logs look healthy, and ensure that you haven't added a fee-recipient address that conflicts with what has been selected by your cluster in your cluster-lock.json file, as that may prevent your validator from producing a signature for the block when the opportunity arises. You should also confirm the same for all of the other peers in your cluster.
Once a proposal has been made, you should look at the Block Extra Data field under Execution Payload for the block on Beaconcha.in, and confirm there is text present, this generally suggests the block came from a builder, and was not a locally constructed block.