Waku node and protocol.
Go to file
Sanaz Taheri Boshrooyeh b7998de09d
RLN-Relay static group construction (#708)
* tests rln instance as pointer

* test insertion

* tests deletion

* tests proof generation and verification

* updates rln instance type and the rln api

* deletes old API

* removes temporary tests

* deletes unused codes

* Delete settings.json

* reverts the changes in tests v2

* removes an old comment

* adds member insertion and deletion

* adds getMerkleRoot and unit tests

* makes insertMember argument  a value type

* adds static group creation

* adds rln field to WakuRLNRelay type, and enables static group construction inside mountRlnRelay

* renames self to membershipKeyPair and removes key generation from mountRlnRelay

* renames sk,pk tp idKey and idCommitment

* updates mountRlnRelay arguments name

* logs created keys

* uncomments the key generation and adds explainer about it

* enables all the  tests

* adds comments to the rln relay types

* logs error message for the arguments that are not set
2021-08-26 16:14:51 -07:00
.github/workflows Add GH project board automation (#666) 2021-07-15 13:49:50 +08:00
ci ci: build and test only what changed 2021-07-02 11:09:09 +02:00
docs Added Waku v2 fleet monitoring and management guide (#707) 2021-08-23 09:34:45 +02:00
examples Integrate DNS resolution (#709) 2021-08-25 13:57:35 +02:00
metrics Added waku fleet dashboard (#704) 2021-08-19 09:57:53 +02:00
tests RLN-Relay static group construction (#708) 2021-08-26 16:14:51 -07:00
vendor Integrate DNS resolution (#709) 2021-08-25 13:57:35 +02:00
waku RLN-Relay static group construction (#708) 2021-08-26 16:14:51 -07:00
wrappers Refactor wakunode2.nim (#664) 2021-07-14 19:58:46 +02:00
.dockerignore
.gitignore Improve libwaku and C wrappers (#613) 2021-06-13 20:50:10 +08:00
.gitmodules Integrate DNS resolution (#709) 2021-08-25 13:57:35 +02:00
CHANGELOG.md Fix: bridge encoding and missing timestamps (#697) 2021-08-26 14:24:00 +02:00
Dockerfile Fix: Remove rln file from Docker image (#606) 2021-06-10 09:18:52 +02:00
LICENSE-APACHEv2
LICENSE-MIT
Makefile Whisper tests (#678) 2021-07-19 17:54:36 +08:00
README.md Remove PCRE dependency from general Waku Prerequisites 2021-06-17 14:43:10 +02:00
config.nims Remove the need for pcre (#623) 2021-06-15 09:51:09 +02:00
env.sh
waku.nimble Whisper tests (#678) 2021-07-19 17:54:36 +08:00

README.md

nim-waku

Introduction

The nim-waku repository implements Waku v1 and v2, and provides tools related to it.

  • A Nim implementation of the Waku v1 protocol.
  • A Nim implementation of the Waku v2 protocol.
  • CLI applications wakunode and wakunode2 that allows you to run a Waku v1 or v2 node.
  • Examples of Waku v1 and v2 usage.
  • Various tests of above.

For more details on Waku v1 and v2, see their respective home folders:

How to Build & Run

These instructions are generic and apply to both Waku v1 and v2. For more detailed instructions, see Waku v1 and v2 home above.

Prerequisites

  • GNU Make, Bash and the usual POSIX utilities. Git 2.9.4 or newer.
  • Rust

More information on the installation of these can be found here.

Wakunode

# The first `make` invocation will update all Git submodules.
# You'll run `make update` after each `git pull`, in the future, to keep those submodules up to date.
make wakunode1 wakunode2

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

# Connect the client directly with the Status test fleet
./build/wakunode --log-level:debug --discovery:off --fleet:test --log-metrics
# TODO Equivalent for v2 

Waku Protocol Test Suite

# Run all the Waku v1 and v2 tests
make test

Examples

Examples can be found in the examples folder. For Waku v2, there is a fully featured chat example.