Set up and configure MEV-boost

Install and configure MEV-boost

Install dependencies - Make, Git

sudo apt install make git

Install dependencies - Go (download page here) - and make sure the latest version (1.22.0) is output at the end of this command batch.

curl -LO https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
echo "f6c8a87aa03b92c4b0bf3d558e28ea03006eb29db78917daec5cfb6ec1046265 go1.22.0.linux-amd64.tar.gz" sha256sum --check
sudo tar xvf go1.22.0.linux-amd64.tar.gz -C /usr/local
export PATH=$PATH:/usr/local/go/bin
echo "export PATH=$PATH:/usr/local/go/bin"
go version

Download latest version of MEV-boost.

cd
git clone https://github.com/flashbots/mev-boost.git
cd mev-boost
git checkout tags/v1.7-alpha1

Build the executable file.

make build

Copy the executable file to the /usr/local/bin folder.

sudo cp mev-boost /usr/local/bin

Create an account (mevboost) without server access for MEV Boost to run as a background service. This restricts potential attackers to only the MEV Boost service in the unlikely event that they manage to infiltrate via a compromised client update.

sudo useradd --no-create-home --shell /bin/false mevboost

Create a systemd configuration file for the tekubeacon service to run in the background.

sudo nano /etc/systemd/system/mevboost.service

Paste the configuration parameters below into the file:

[Unit]
Description=mev-boost (Holesky)
Wants=network-online.target
After=network-online.target

[Service]
Type=simple
User=mevboost
Group=mevboost
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/mev-boost \
    -holesky \
    -min-bid 0.07 \
    -relay-check \
    -relay <https://example.com> \
    -relay <https://example.com> \
    -relay <https://example.com> \
    -relay <https://example.com> 

[Install]
WantedBy=multi-user.target

Once you're done, save with Ctrl+O and Enter, then exit with Ctrl+X. Understand and review your configuration summary (flags) below, and amend if needed.

MEV Boost configuration summary:

  1. -holesky: Run the MEV-boost service on the Holesky testnet

  2. -min-bid: Set the threshold to accept blocks from relays if they bid above a chosen value, otherwise propose a locally-built block. This sacrifices a small ~0.1% APR in exchange for much better censorship resistance, allowing you to use OFAC-compliant relays guilt-free! More information here

  3. -relay-check: check relay status on startup and on the status API call

  4. -relay: A chosen relay URL. Choose your preferred ones here - https://github.com/eth-educators/ethstaker-guides/blob/main/MEV-relay-list.md

Start the MEV Boost service

Reload the systemd daemon to register the changes made, start MEV Boost, and check its status to make sure its running.

sudo systemctl daemon-reload
sudo systemctl start mevboost
sudo systemctl status mevboost.service

Expected output: The output should say MEV Boost is “active (running)”. Press CTRL-C to exit and MEV Boost will continue to run.

Use the following command to check the logs for any warnings or errors:

sudo journalctl -fu mevboost -o cat | ccze -A

Expected output:

Make sure you see the method=POST path=/eth/v1/builder/validators status=200 lines in the logs and not method=GET

mev-boost-1  | time="2024-11-15T05:56:56.094Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.072986 method=POST path=/eth/v1/builder/validators status=200 version=v1.8.1
mev-boost-1  | time="2024-11-15T05:56:59.122Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.074820 method=POST path=/eth/v1/builder/validators status=200 version=v1.8.1
mev-boost-1  | time="2024-11-15T05:56:59.184Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.097007 method=POST path=/eth/v1/builder/validators status=200 version=v1.8.1
mev-boost-1  | time="2024-11-15T05:57:11.122Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.075100 method=POST path=/eth/v1/builder/validators status=200 version=v1.8.1
mev-boost-1  | time="2024-11-15T05:57:11.188Z" level=info msg="http: POST /eth/v1/builder/validators 200" duration=0.100271 method=POST path=/eth/v1/builder/validators status=200 version=v1.8.1

Press CTRL-C to exit.

If the MEV Boost service is running smoothly, we can now enable it to fire up automatically when rebooting the system.

sudo systemctl enable mevboost.service

Last updated