Besu
Overview
Official Links
Documentation
1. Initial configuration
Create a service user for the execution service, create data directory and assign ownership.
sudo adduser --system --no-create-home --group execution
sudo mkdir -p /var/lib/besu
sudo chown -R execution:execution /var/lib/besuInstall dependencies.
sudo apt install -y openjdk-21-jdk libjemalloc-dev jq2. Install Binaries
Downloading binaries is often faster and more convenient.
Building from source code can offer better compatibility and is more aligned with the spirit of FOSS (free open source software).
3. Setup and configure systemd
Create a systemd unit file to define your execution.service configuration.
Paste the following configuration into the file.
To exit and save, press Ctrl + X, then Y, then Enter.
Run the following to enable auto-start at boot time.
Finally, start your execution layer client and check it's status.
Press Ctrl + C to exit the status.
4. Helpful execution client commands
A properly functioning Besu execution client will indicate "Fork-Choice-Updates". For example,
Common reasons to reset the database can include:
Recovering from a corrupted database due to power outage or hardware failure
Re-syncing to reduce disk space usage
Upgrading to a new storage format
Time to re-sync the execution client can take a few hours up to a day.
Now that your execution client is configured and started, proceed to the next step on setting up your consensus client.
If you're checking the logs and see any warnings or errors, please be patient as these will normally resolve once both your execution and consensus clients are fully synced to the Ethereum network.
Last updated