Waku node and protocol.
Go to file
Simon-Pierre Vivier bbff1ac138
feat: autosharding core algorithm (#1854)
- basic rendezvous hashing
- content topic parsing
- sharding config
- tests
2023-08-01 09:05:16 -04:00
.github fix(ci): do not depend on number of procesors with job name (#1863) 2023-07-31 15:04:46 +02:00
.sv4git/templates feat: add release-notes target (#1734) 2023-05-18 14:45:45 +02:00
apps feat: autosharding core algorithm (#1854) 2023-08-01 09:05:16 -04:00
ci fix: sanity-check the docker image start 2023-06-27 19:32:40 +02:00
docs chore(ci): extend and rename nightly workflow to support RC builds (#1784) 2023-06-08 17:13:40 +02:00
examples feat(cbindings): tiny waku relay example in Python (#1793) 2023-07-31 17:54:26 +02:00
library refactor(cbindings): libwaku - run waku node in a secondary working thread (#1865) 2023-07-31 09:52:04 +02:00
metrics chore(rln-relay): update metrics dashboard (#1745) 2023-05-19 16:24:53 +05:30
migrations chore(migrations): move migration scripts to project root 2022-11-03 17:58:05 +01:00
scripts test(ci): rln-relay compilation in docker (#1853) 2023-07-24 19:25:28 +02:00
tests feat: autosharding core algorithm (#1854) 2023-08-01 09:05:16 -04:00
vendor feat(rln-relay): close db connection appropriately (#1858) 2023-07-27 17:21:21 +05:30
waku feat: autosharding core algorithm (#1854) 2023-08-01 09:05:16 -04:00
.dockerignore add a Dockerfile for creating nim-waku images 2020-05-27 12:51:20 +02:00
.editorconfig chore: add editorconfig file 2022-11-21 09:31:03 +01:00
.gitignore Refactoring of libwaku to export only C types (#1845) 2023-07-07 10:53:00 +02:00
.gitmodules chore: removed unused submodule (#1580) 2023-02-28 10:35:20 +02:00
.sv4git.yml chore(ci): extend and rename nightly workflow to support RC builds (#1784) 2023-06-08 17:13:40 +02:00
CHANGELOG.md docs(changelog): release notes for v0.19.0 (#1861) 2023-07-27 10:31:11 +02:00
Dockerfile test(ci): rln-relay compilation in docker (#1853) 2023-07-24 19:25:28 +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 Refactoring of libwaku to export only C types (#1845) 2023-07-07 10:53:00 +02:00
README.md chore: update docs link (#1850) 2023-07-28 15:46:02 +10:00
config.nims chore(ci): properly set os and architecture for nightly and release (#1780) 2023-06-06 17:41:41 +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 chore(docs): fix docs and mark some as deprecated (#1754) 2023-05-25 13:37:49 +02:00

README.md

Nwaku

Introduction

The nwaku 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 allow 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

The standard developer tools, including a C compiler, GNU Make, Bash, and Git. More information on these installations 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 updated.
make wakunode1 wakunode2

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

For more on how to run wakunode2, refer to:

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 Waku Discord server.