Waku node and protocol.
Go to file
Sanaz Taheri Boshrooyeh e7c21c2f74
Rln-relay zkp module Nim bindings (#427)
* entirely replaces the prior rln header, the var variables are changed to ptr

* updates the unittest of key_gen

* adds test for update_next_member

* updates membershipKeyGen internals and prototype

* adds createRLNInstance

* adds helpers methods

* adds generateKeyPairBuffer

* cleans up the test and adds comments

* renames  merkleTreeDepth to d

* fixes a buf re decoding the keys into sk and pk

* adds getSKPK proc

* unifies key gen helper procs, adds todos

* comments out the createRLNInstance

* refactors the code based on the updated createRLNInstance interface

* adds the test for the verify proc

* fixes a variable name and replaces random key gen with the real key gen

* tests a simple hash

* adds get_root method

* fixes the data pointer issue and adds the proof breakdown

* adds rln

* adds unit tests for Merkle tree

* adds a sample hash test

* fixes the hash bug and comments out unused part of proof gen test

* cleans up the proof gent test

* replaces unsafeAddr with addr

* fixes an issue in key gen

* updates rln submodule

* fixes the verification problem

* adds a failed test

* replaces an old test scenario with a new one

* handles createRLNInstance output

* working createRLNInstance2

* refactors the code by replacing the old createRLNInstance

* renames createRLNInstance2

* adds documentation and reorganizes rln.nim

* replace echo with debug, renames vars, adds a bad proof test

* minor

* minor

* edits var names

* adds one more check

* adds one more test to the hash

* enforcing exception handling

* adds pacman -Sy

* removes update:true

* activates update
2021-03-31 17:39:27 -07:00
.github/workflows Update docs.yml 2020-12-21 12:34:30 +01:00
docs Specify chat2 message format (#440) 2021-03-31 17:06:20 +02:00
examples Bump chronos and fix exception tracking issues (#436) 2021-03-26 10:52:04 +01:00
metrics Fixed grafana dashboard to view Waku v2 metrics (#357) 2021-02-03 17:49:34 +02:00
tests Rln-relay zkp module Nim bindings (#427) 2021-03-31 17:39:27 -07:00
vendor Bump chronos and fix exception tracking issues (#436) 2021-03-26 10:52:04 +01:00
waku Rln-relay zkp module Nim bindings (#427) 2021-03-31 17:39:27 -07:00
.dockerignore add a Dockerfile for creating nim-waku images 2020-05-27 12:51:20 +02:00
.gitignore Update submodules (#424) 2021-03-17 10:52:27 +02:00
.gitmodules Bump chronos and fix exception tracking issues (#436) 2021-03-26 10:52:04 +01:00
CHANGELOG.md Integrate persistent peer storage (#437) 2021-03-26 10:49:51 +02:00
Dockerfile Fix Docker image - missing librln.so file (#406) 2021-03-04 17:55:27 +02:00
Jenkinsfile ci: add MAKE_TARGET parameter, remove default from IMAGE_TAG 2020-12-04 11:18:31 +01:00
LICENSE-APACHEv2
LICENSE-MIT
Makefile Adds rln as a submodule (#402) 2021-03-02 12:57:48 -08:00
README.md Folder restructure (#274) 2020-11-17 17:34:53 +08:00
config.nims bump vendor/nimbus-build-system (#36) 2020-07-01 09:43:23 +02:00
env.sh
waku.nimble chat2 improvements (#403) 2021-03-03 10:40:19 +02: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.
  • PCRE

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.