Waku node and protocol.
Go to file
Sanaz Taheri Boshrooyeh a41b9ac80b
Refactor waku protocols and utils (#667)
* refactors waku_filter

* refactors waku_lightpush

* refactors waku_swap

* refactor namespacing.nim

* refactor peers

* refactors requests

* adds top level {.push raises: [Defect].}

* log scope for rln relay

* cleans up comments

* removes comments

* comments out raise Defect

* defines temp var then pass to constructor

* Update waku/v2/protocol/waku_rln_relay/rln.nim

Co-authored-by: oskarth <ot@oskarthoren.com>

* Update waku/v2/protocol/waku_swap/waku_swap.nim

Co-authored-by: oskarth <ot@oskarthoren.com>

* explains the potential exception in waku_swap

* creates temp var before return

* adjusts spaces

* adds line breaks, temp vars and fixes format

* removes type declaration

* fixes and indentation issue

* adjusts spacing

* adjusts line <80ch

* formating improvement

Co-authored-by: oskarth <ot@oskarthoren.com>
2021-07-15 11:25:52 -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 DB Migration tutorial (#646) 2021-06-25 11:35:46 -07:00
examples Refactor wakunode2.nim (#664) 2021-07-14 19:58:46 +02:00
metrics Add Swap account Metrics to Grafana (#585) 2021-06-06 16:15:18 +01:00
tests Refactor wakunode2.nim (#664) 2021-07-14 19:58:46 +02:00
vendor Add ping protocol support and use for keep-alive (#621) 2021-06-15 10:55:47 +02:00
waku Refactor waku protocols and utils (#667) 2021-07-15 11:25:52 -07: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 Improve libwaku and C wrappers (#613) 2021-06-13 20:50:10 +08:00
.gitmodules Add ping protocol support and use for keep-alive (#621) 2021-06-15 10:55:47 +02:00
CHANGELOG.md Integrating pagination into the resume proc (#653) 2021-07-02 11:37:58 -07:00
Dockerfile Fix: Remove rln file from Docker image (#606) 2021-06-10 09:18:52 +02:00
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 ci: improve GitHub actions build times 2021-06-29 17:36:52 +02: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 Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
waku.nimble Use chronosStrictException for Waku v1 code (#609) 2021-06-14 14:40:08 +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.
  • 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.