By using this site, you agree to our use of cookies, which we use to analyse our traffic in accordance with our Privacy Policy. We also share information about your use of our site with our analytics partners.

NewsEthereum 2.0Hyperledger Besu

Hyperledger Besu Execution Client Setup Guide Ahead of the Merge

With the Merge on the horizon, here is the latest release of Hyperledger Besu guide to run your execution client software.
by Matt Nelson, Simran JagdevAugust 5, 2022
Besu execution client setup guide ahead of the merge

The countdown to the Merge has begun. We’re only six weeks away from Ethereum’s move away from the Proof of Work consensus mechanism, and the excitement among the Ethereum community is palpable. To help test the Merge on any platform, Hyperledger Besu has released their version 22.7.0

This update includes improvements to the underlying peering code when peering on public networks, along with a number of fixes to the Merge-related code. In this release, Hyperledger Besu is Merge-ready. 

We have only one testnet Merge left before the consensus layer and Beacon chain are merged. The Goerli testnet merge is the largest community merge and is expected to happen around August 10th. This is a good time to remind ourselves about why client diversity matters for a network to be healthy and secure. Watch this video to know more about the execution clients and the consensus clients. 

The foundation of Ethereum is decentralization, and client diversity is key to bolstering that foundation. If one client supports the majority of the network, that uneven distribution puts the network at risk and reincarnates the inherent shortcomings of a singular vector of attack present in centralized networks. Ethereum is at its most robust with the majority client capturing only 33% of validators in the network.

Client diversity has become even more important as we are nearing the Merge. Critical bugs in clients that run majority nodes on Ethereum could lead to severe consequences such as forcing the Ethereum network to go offline, or causing the chain to split incorrectly. 

ConsenSys develops Hyperledger Besu, an execution layer client that operates both on Ethereum’s mainnet and on private networks, with other contributors from the open source community. If you want to test the Merge on Hyperledger Besu, we have a guide to help you set it up. 

How To Set up the Besu Client 

Before you start setting up Besu, you need to ensure your device meets the hardware and software requirements to do so. You can read more about the storage, hardware, and software prerequisites for setting up Besu here

Regardless of the set-up, you should use either a dedicated machine if available or a separate user to ensure proper handling of network security and storage of validator keys, should you choose to use them.

First, you will need to configure Besu. Here’s how you can do it:

  1. You can use a .toml file or the command line at start-up to configure Besu. 
  2. In your CLI – you can start Besu by pointing it to your config:

Besu –config-file=”Config File Path”

  1. You will need to generate and specify the location of a JWT secret in your config. The secret can be generated by running something like:

openssl rand -hex 32 | tr -d “\n” > ee-jwt-secret.hex

A basic config can be found here for Goerli (just change the network name for Ropsten). Next, you will need to configure your consensus layer client. Here are the steps to do so:

  1. First, choose a consensus layer client. This guide will discuss Teku, but others can (and should) be explored as client diversity requirements impact both the execution and consensus layers! 
  2. Then, you can optionally head over to the Ropsten Launchpad and read more about becoming a validator, and generating your validator keys. The Mainnet Launchpad is for those that want to stake real ETH and get rewarded (this guide does not touch on the minutia of Mainnet staking at this time).
  3. First up is configuring your Teku node to communicate with your Besu node via the Engine API port:

ee-endpoint: “http://localhost:8551

The above port may change depending on your setup (like with Docker).

  1. You will also need to pass the generated JWT secret to Teku:

ee-jwt-secret-file: “ee-jwt-secret.hex”

  1. With these in hand, you should be good to start up and run your nodes!

A similar config can be found for Teku here. Once your node is up and running, you shouldn’t have to fiddle with it much. After sync is completed on the execution and consensus layers and node operations are confirmed, the nodes will hum along and (slowly) accumulate state.

Learn More About Hyperledger Besu

At ConsenSys, we strive to keep our users, and ecosystem partners and friends, informed about regular updates on the Merge. Join us for our weekly workshops, until August 16th, where we discuss everything related to the Merge. 

You can also check out this detailed guide on setting up your Hyperledger Besu client. To keep yourself updated on all things Merge, visit our Merge knowledge hub.