How to Connect to Eden Relay using MEV-Boost
mev-boost
is an optional add-on for validators to enable them to source blocks from multiple different relays.
Configuring mev-boost
is likely to increase both the profitability and reliability of your validator operation.
MEV-Boost is the recommended way to connect to the Eden Relay. This method enables you to connect to additional relays and helps mitigate risk.
Overview
- Install and run
mev-boost
- Add Eden Relay using a command-line flag
- Configure your consensus client to enable your
mev-boost
instance as a builder
Spec
mev-boost
implements the latest Builder Specification.
Installing
mev-boost
can run in any machine, as long as it is reachable by the beacon client. The default port is 18550. The most common setup is to install it in the same machine as the beacon client.
A single mev-boost
instance can be used by multiple beacon nodes.
Dependencies
From Source
Install mev-boost with go install
:
go install github.com/flashbots/mev-boost@latest
mev-boost -help
Or clone the repository and build it:
git clone https://github.com/flashbots/mev-boost.git
cd mev-boost
make build
From Docker Image
There is a public mev-boost Docker image at https://hub.docker.com/r/flashbots/mev-boost
- Install Docker Engine
- Pull & run the latest image:
docker pull flashbots/mev-boost:latest
docker run flashbots/mev-boost -help
Add Eden Relay URL
Once you have installed mev-boost
, you can add Eden Relay and any other relays you wish to use. Pass the relay URLs as a comma-separated list (no spaces) to the -relays
flag. mev-boost
will automatically choose the most profitable block from all relays every slot.
- Mainnet
- Goerli
- Holesky
./mev-boost -mainnet -relay-check -relays https://0xb3ee7afcf27f1f1259ac1787876318c6584ee353097a50ed84f51a1f21a323b3736f271a895c7ce918c038e4265918be@relay.edennetwork.io
./mev-boost -goerli -relay-check -relays https://0xb1d229d9c21298a87846c7022ebeef277dfc321fe674fa45312e20b5b6c400bfde9383f801848d7837ed5fc449083a12@relay-goerli.edennetwork.io
./mev-boost -holesky -relay-check -relays https://0xb1d229d9c21298a87846c7022ebeef277dfc321fe674fa45312e20b5b6c400bfde9383f801848d7837ed5fc449083a12@relay-holesky.edennetwork.io
Relay Info
- Ethereum Mainnet: https://relay.edennetwork.io/info
- Goerli Testnet: https://goerli.edennetwork.io/info
- Holesky Testnet: https://holesky.edennetwork.io/info
Configure Consensus Client
Prysm
To use Eden Relay as your source for block production with Prysm + mev-boost
, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost
instance:
--http-mev-relay=http://localhost:18550
And the following to your validator client:
--enable-builder
See official Prysm Documentations for more details and advanced configuration options.
Lighthouse
To use Eden Relay as your source for block production with Lighthouse + mev-boost
, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost
instance:
--builder=http://localhost:18550
And the following to your validator client:
--builder-proposals
See official Lighthouse Documentation for more details and advanced configuration options.
Teku
To use Eden Relay as your source for block production with Teku + mev-boost
where your beacon node and validator are run in the same process, you simply need to add the following flags to your client to point it at your newly running mev-boost
instance:
--validators-builder-registration-default-enabled=true
--builder-endpoint=http://localhost:18550
If you are running a Teku + mev-boost
setup where your beacon node and validator are run in different processes, your setup should look like the following:
Validator client:
teku validator-client --validators-proposer-blinded-blocks-enabled=true --validators-proposer-config="/etc/teku/proposerConfig.json"
Proposer configuration:
{
"proposer_config": {
"0xa057816155ad77931185101128655c0191bd0214c201ca48ed887f6c4c6adf334070efcd75140eada5ac83a92506dd7a": {
"fee_recipient": "0x50155530FCE8a85ec7055A5F8b2bE214B3DaeFd3",
}
},
"default_config": {
"fee_recipient": "0x6e35733c5af9B61374A128e6F85f553aF09ff89A",
"builder": {
"enabled": true
}
}
}
Beacon node:
teku --validators-proposer-default-fee-recipient="0x6e35733c5af9B61374A128e6F85f553aF09ff89A" --ee-endpoint="http://127.0.0.1:8551" --ee-jwt-secret-file="/etc/jwt-secret.hex" --builder-endpoint="http://localhost:18550"
See official Teku Documentation for more details and advanced configuration options.
Lodestar
To use Eden Relay as your source for block production with Lodestar + mev-boost, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost instance:
Beacon node:
--builder --builder.urls http://localhost:18550
Validator client:
--builder --suggestedFeeRecipient <your ethereum address>
See official Lodestar Documentation for more details and advanced configuration options.
Nimbus
To use Eden Relay as your source for block production with Nimbus + mev-boost, you simply need to add the following flag to your beacon node client to point it at your newly running mev-boost instance:
Beacon node:
- Mainnet
- Goerli
- Holesky
./run-mainnet-beacon-node.sh --payload-builder=true --payload-builder-url=http://localhost:18550
./run-goerli-beacon-node.sh --payload-builder=true --payload-builder-url=http://localhost:18550
./run-holesky-beacon-node.sh --payload-builder=true --payload-builder-url=http://localhost:18550
Validator client:
build/nimbus_validator_client --payload-builder=true
See official Nimbus Documentation for more details and advanced configuration options.