🖥️Installation

Prerequisites

1. install docker-compose & git 
2. Get Ethereum Sepolia WebSocket endpoint via Infura.io (https://app.infura.io/)
3. Get Ethereum Sepolia Faucet minimum <0.01 ETH (https://www.infura.io/faucet/sepolia)
4. EVM Compatible Wallet Address

Install docker-compose

  1. Download the Docker Compose binary into the /usr/local/bin directory:

sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
  1. Verify that Docker Compose is installed correctly:

docker-compose --version
  1. Apply executable permissions to the Docker Compose binary:

sudo chmod +x /usr/local/bin/docker-compose

Install Git

sudo apt-get install git

Clone nwaku-compose repo

Navigate to nwaku-compose there is .env.example available for you as a template to use for providing the below values.

docker-compose will read the ./.env file from the filesystem. The process when working with .env files is to copy the .env.example, store it as .env and edit the values there by running the following command:

Edit the .env value with your own data

Register RLN membership

This command will register your membership and store it in keystore/keystore.json. Note that if you just want to relay traffic (not publish), you don't need one.

Start the node

Start all processes: nwaku node, database and grafana for metrics. Your RLN membership is loaded into nwaku under the hood.

Your nwaku node exposes a REST API to interact with it.

Publish a message to a contentTopic. Everyone subscribed to it will receive it. Note that payload is base64 encoded.

Get messages sent to a contentTopic. Note that any store node in the network is used to reply.

Grafana Node monitoring

Link to official docs : https://github.com/waku-org/nwaku-compose/blob/master/README.md

Last updated