Waku node and protocol.
Go to file
G ea8d72188e
feat: add keyfile support for RLN credentials secure storage (#1285)
* feat(utils): add keyfile + test

* feat(keyfile): make id and version field optional

* feat(rln): enable input password for keyfile encryption

* refactor(keyfile): store multiple keyfiles in single file

* refactor(rln): write and read rln credentials proc using keyfiles + test update

* feat(keyfile): allow skip successful decryption to iterate among multiple keyfiles + test

* fix(rln): add rln-relay-cred-password in wakunode2 config

* chore(keyfile): remove unnencessary echo

* refactor(rln/kesyore): address reviewers' comments

* refactor(rln/keyfile): use defer instead of try/finally

* feat(rln): address reviewers comments; return all successful decryptions

* chore(keyfile): add comments; changed name to loadKeyfiles

* feat(keyfile): chmod 600 for keyfiles

* fix(rln): fix errors raised by readRlnCredentials

* feat(keyfile): add nim-eth tests; address reviewers comments

* fix(keyfile/rln): better error handling

* refactor(keyfile): refactoring nim-eth tests

* fix(keyfile): fix wrong index

* fix(keyfile): fix wrong password generation in test

* feat(keyfile): add wrong mac test

Co-authored-by: Aaryamann Challani <43716372+rymnc@users.noreply.github.com>
2022-10-28 11:13:05 +02:00
.github ci: run ci test workflows selectively 2022-10-20 18:44:22 +02:00
apps feat: add keyfile support for RLN credentials secure storage (#1285) 2022-10-28 11:13:05 +02:00
ci ci(jenkins): use MAKEFLAGS and NIMFLAGS pipeline params in build and test stages 2022-10-25 16:58:52 +02:00
docs chore(docs): removes the eth account address from the onchain-rln-relay tutorial (#1280) 2022-10-28 13:05:30 +05:30
examples chore(node): waku node code reorganization 2022-10-27 17:29:09 +02:00
metrics feat(rln-relay): add metrics dashboard (#1275) 2022-10-19 15:08:15 +05:30
tests feat: add keyfile support for RLN credentials secure storage (#1285) 2022-10-28 11:13:05 +02:00
tools chore(wakucanary): resolve dns (#1271) 2022-10-18 10:13:42 -05:00
vendor chore(rln): update zerokit module (#1254) 2022-10-10 14:14:27 +02:00
waku feat: add keyfile support for RLN credentials secure storage (#1285) 2022-10-28 11:13:05 +02:00
wrappers Refactor wakunode2.nim (#664) 2021-07-14 19:58:46 +02:00
.dockerignore add a Dockerfile for creating nim-waku images 2020-05-27 12:51:20 +02:00
.gitignore chore: add nimbus-build-system.paths to gitignore 2022-09-12 08:49:35 +05:30
.gitmodules Zerokit RLN integration in nwaku: alternative approach with inline compilation flag (#1060) 2022-08-05 22:58:19 +02:00
CHANGELOG.md docs: release v0.12.0 (#1231) 2022-10-06 17:29:58 +01:00
Dockerfile fix(Dockerfile): use alpine edge (#1241) 2022-10-06 17:13:45 +05:30
LICENSE-APACHEv2 Fix name in licence (#517) 2021-04-28 20:00:45 +10:00
LICENSE-MIT Fix name in licence (#517) 2021-04-28 20:00:45 +10:00
Makefile fix: log-level being ignored (#1272) 2022-10-18 18:03:43 -05:00
README.md chore(wakucanary): add canary tool (#1205) 2022-10-11 05:58:44 +02:00
config.nims fix: building on Apple clang and M1 (#907) 2022-03-28 15:21:02 +02:00
env.sh Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
shell.nix feat(store): simplify wakunode2 configuration options 2022-10-26 17:10:30 +02:00
waku.nimble fix: log-level being ignored (#1272) 2022-10-18 18:03:43 -05: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.

Tools

Different tools and their corresponding how-to guides can be found in the tools folder.

Bugs, Questions & Features

For an inquiry, or if you would like to propose new features, feel free to open a general issue.

For bug reports, please tag your issue with the bug label.

If you believe the reported issue requires critical attention, please use the critical label to assist with triaging.

To get help, or participate in the conversation, join the Vac Discord server.