mirror of https://github.com/waku-org/nwaku.git
29d69b98cb
* 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 * deletes unnecessary comments * updates createRLNInstance to return bool indicating the success of call * updates create RLN Instance interface * minor * clean up * removes unused imports * adds documentation * adds comments * adds byteutils * removes extra spaces * updates rln submodule * deletes genSKPK * fixes a bug in membershipKeyGen * unsafeAddr to addr * Update waku/v2/protocol/waku_rln_relay/rln.nim Co-authored-by: Oskar Thorén <ot@oskarthoren.com> * clean up Co-authored-by: Oskar Thorén <ot@oskarthoren.com> |
||
---|---|---|
.github/workflows | ||
docs | ||
examples | ||
metrics | ||
tests | ||
vendor | ||
waku | ||
.dockerignore | ||
.gitignore | ||
.gitmodules | ||
CHANGELOG.md | ||
Dockerfile | ||
Jenkinsfile | ||
LICENSE-APACHEv2 | ||
LICENSE-MIT | ||
Makefile | ||
README.md | ||
config.nims | ||
env.sh | ||
waku.nimble |
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
andwakunode2
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.