Installing Hyperledger Besu — Enterprise Ethereum Client

Stevan Lohja
Ethereum Classic Cooperative
2 min readDec 31, 2020

Hyperledger Besu is an open-source Ethereum/ Ethereum Classic client developed under the Apache 2.0 license and written in Java. In this tutorial, we’ll install Hyperledger Besu on Linux.

Prerequisites

Besu requires Java JDK 11+ to compile.

Installing OpenJDK 11+

Update packages:

sudo yum update # sudo apt update

Besu requires Java 11+ to compile. Check if Java is installed:

java --version

If Java 11+ is already installed, then it should look like this:

$ java --version
openjdk 11.0.9 2020-10-20 LTS
OpenJDK Runtime Environment 18.9 (build 11.0.9+11-LTS)
OpenJDK 64-Bit Server VM 18.9 (build 11.0.9+11-LTS, mixed mode, sharing)

Install OpenJDK 11:

Optional JDK installers can be downloaded for Linux, Mac, and Windows from https://www.oracle.com/java/technologies/javase-downloads.html.

sudo yum install java-11-openjdk # sudo apt install openjdk-11-jdk

Check if Java is installed:

$ java --version

Download Binary

Download and unpack the Besu binary file from the releases page on Github: https://github.com/hyperledger/besu/releases

wget -c https://dl.bintray.com/hyperledger-org/besu-repo/besu-20.10.1.zip -O besu.zipunzip besu.zip

Now the packaged binary is downloaded unpacked, it’s now ready to run. The binary is located in besu-<release>/bin/besu .

Display Besu commands and options:

./besu --help

To run Besu on the Ethereum Classic network, simply use theclassic value to the --network= flag when starting Besu like so:

./besu --network=classic

Start Besu with Config file

An alternative to starting Besu is with a configuration file that contains all the commands and options in a file. Config files must be in tomlformat.

Here’s an example config.toml file:

network="classic"
rpc-http-cors-origins=["all"]
host-allowlist=["*"]
rpc-ws-enabled=true
rpc-http-enabled=true
data-path="/tmp/tmpDatdir"

Starting Besu with the config file is quite easy, just provide the file path with the — config-file=<path> flag.

./besu --config-file=/path/to/file/config.toml

Install Docker Image

Docker image for Hyperledger Besu is available. Simply pull the image and run it.

docker pull hyperledger/besu:latest

Run a node on Ethereum Classic mainnet:

docker run -p 8545:8545 --mount type=bind,source=/<myvolume/besu/classic>,target=/var/lib/besu  -p 30303:30303 hyperledger/besu:latest --rpc-http-enabled --data-path=/var/lib/besu

See Hyperledger Besu on Dockerhub: https://hub.docker.com/r/hyperledger/besu

--

--