Skip to main content

Build Nwaku from Source

This guide provides detailed steps to build a nwaku node from the source code to access the latest development version or a specific commit or release of nwaku. For your convenience, you may want to download a pre-compiled binary instead.

info
  • A minimum of 2GB of RAM is required to build nwaku.
  • Nwaku is available for Linux and macOS, with experimental Windows support.

Prerequisites

To build nwaku, you need the standard developer tools, including a C compiler, GNU Make, Bash, Git, Rustup, and PostgreSQL client library.

sudo apt-get install build-essential git libpq5 jq
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"

Clone the repository

Get the source code from the GitHub repository. The default branch is master, the release candidate for major updates.

git clone https://github.com/waku-org/nwaku
cd nwaku
tip

You can use git tag -l to check specific version tags.

Build the binary

Build the nwaku binary:

make wakunode2

The first make invocation updates to all Git submodules. After each git pull, run make update to keep the submodules updated in the future.

make update

Run the binary

Nwaku will create the wakunode2 binary in the ./build/ directory.

# Run with default configuration
./build/wakunode2

# See available command line options
./build/wakunode2 --help

To learn more about running nwaku, have a look at these guides:

Run test suite

Run the tests for Waku:

make test
Congratulations!

You have successfully built the nwaku binary from the source code. Have a look at the Node Configuration Examples guide to learn how to configure nwaku for different use cases.