Prerequisites 

  • Java 17
  • For Mac installations: MacOS High Sierra 10.13 or later

NoteBesu is currently supported only on 64-bit versions of Windows, and requires a 64-bit version of JDK/JRE. We recommend that you also remove any 32-bit JDK/JRE installations.

Dependency

Building from source has a two dependencies- libsodium version 1.0.16 or higher and libnss version 3.35 or higher are needed in order to build Besu and run the tests.

If you are not planning on running the tests, you can skip this step.

To install the dependencies type in the following commands on MacOS or Ubuntu.

MacOS:
$ brew install libsodium nss

Ubuntu (16.04 LTS):
$ apt install libsodium18 libnss3

Ubuntu (18.04 LTS):
$ apt install libsodium23 libnss3

Ubuntu (20.04 LTS):
$ apt install libsodium23 libnss3

Ubuntu (14.04 LTS):

For libsodium you can find the appropriate package (v1.0.16-0) files here:
https://launchpad.net/ubuntu/+source/libsodium
https://launchpad.net/~phoerious/+archive/ubuntu/keepassxc/+sourcepub/8814980/+listing-archive-extra

For libnss you can find the appropriate package (v3.35) files here:
https://packages.ubuntu.com/bionic/libnss3


The `sudo` command might be needed on Linux, and if the screen prompts you to enter a password, type your password and press enter.

Quickstart

git clone --recursive https://github.com/hyperledger/besu
cd besu
./gradlew build
./gradlew integrationTest LTS

Checkout source code

git clone --recursive git@github.com:hyperledger/besu.git

or

git clone --recursive https://github.com/hyperledger/besu

See what tasks are available 

To see all of the gradle tasks that are available:

cd besu
./gradlew tasks  

Build from source

Note: On Windows, to run gradlew, you must have the JAVA_HOME system variable set to the Java installation directory. For example: JAVA_HOME = C:\Program Files\Java\jdk1.8.0_181

Build the distribution binaries: 

cd besu

./gradlew installDist


Run Besu:

cd build\install\besu
./bin/besu --help

Running Developer Builds

Build and run Besu with default options using:

./gradlew installDist

By default this stores all persistent data in build/install/besu.

To set custom CLI arguments for the Besu execution:

cd build/install/besu ./bin/besu --discovery-enabled=false --data-path=/tmp/besutmp

Note: If you are using WSL (Windows Subsystem for Linux) with Ubuntu to build and run Besu using DNS discovery, you might need to change the default DNS provided by Windows. See issue https://github.com/hyperledger/besu/issues/3046 for more detail.


  • No labels