Installation
Get started with MEV-Boost installation with this guide. Whether you are looking to install it on a machine with the beacon client or multiple beacon clients, this guide will assist you in setting it up smoothly.
Prerequisites
- For a comprehensive guide on preparing for the merge, refer to Rémy Roy's guide.
- Ensure you have Go 1.18+ installed for source-based installations.
Installation Methods
Using Binaries
For convenience, each release includes binaries suitable for Linux, Windows, and macOS (both amd and arm). Find the latest releases here.
From Source
Build and install with go install
The easiest way to build and install MEV-Boost from sources is to use go install
. You can simply execute the go install
command as shown below:
go install github.com/flashbots/mev-boost@latest
mev-boost -help
This would install the latest version of MEV-Boost in your $GOPATH/bin
directory. You can then run the mev-boost
command from anywhere in your terminal.
If you want to install a specific version, you can use the @
syntax:
go install github.com/flashbots/mev-boost@VERSION
Simply look up the specific version you want to install in the releases page.
Clone and Build
You can also clone the repository and build the software yourself without using go install
.
-
Clone the repository:
git clone https://github.com/flashbots/mev-boost.git
cd mev-boost -
(Optional) To build a specific release, refer to the available releases and checkout the desired tag:
git checkout tags/YOUR_VERSION
-
Build the software:
make build
-
If you experience issues, use the portable build:
make build-portable
-
Verify your installation:
./mev-boost -help
From Docker Image
Flashbots provides maintained Docker images for MEV-Boost.
-
Pull the latest MEV-Boost image:
docker pull flashbots/mev-boost:latest
Or pull the portable version:
docker pull flashbots/mev-boost:latest-portable
-
Run the Docker image:
docker run flashbots/mev-boost -help
Systemd Configuration
To keep MEV-Boost running as a service, configure systemd by creating the systemd config file /etc/systemd/system/mev-boost.service
.
Below is an example of a config file:
[Unit]
Description=mev-boost
Wants=network-online.target
After=network-online.target
[Service]
User=mev-boost
Group=mev-boost
WorkingDirectory=/home/mev-boost
Type=simple
Restart=always
RestartSec=5
ExecStart=/home/mev-boost/bin/mev-boost \
-mainnet \
-relay-check \
-relays YOUR_RELAY_CHOICE
[Install]
WantedBy=multi-user.target
Troubleshooting
If you encounter an error: "SIGILL: illegal instruction"
, you'll need to use the portable build.
There are three ways to install the portable build:
-
Use the portable Docker image.
-
Build the portable version from source:
make build-portable
-
Using
go install
:CGO_CFLAGS="-O -D__BLST_PORTABLE__" go install github.com/flashbots/mev-boost@latest