Waku node and protocol.
Go to file
Ivan Folgueira Bande 665484c17b
refactor: proper use of setupNat (#1740)
Notice that I had to adapt to use 'rlpx_connected_peers' instead
of 'connected_peers' in 'wakunode1.nim' because due to the update
of the 'vendor/nim-eth', which adds the dependency-break with
'confutils' but also includes another changes.

Aside note: we cannot have 'confutils' dependency in 'nim-eth' because
that will prevent the generation of any waku dynamic library.
2023-05-17 18:32:53 +02:00
.github fix(ci): use new caching for all stages, fix sha tool to work on both linux & mac (#1741) 2023-05-17 15:42:00 +02:00
apps refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02:00
ci fix(ci): remove target flag from docker command (#1725) 2023-05-15 21:55:25 +05:30
docs docs: adding new tutorial on how to handle heaptrack with nim waku (#1719) 2023-05-09 15:37:47 +02:00
examples refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02:00
library refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02:00
metrics chore(metrics): add plot with traffic + update to latest grafana dashboard (#1433) 2022-11-29 16:15:55 +01:00
migrations chore(migrations): move migration scripts to project root 2022-11-03 17:58:05 +01:00
scripts fix(rln-relay): buildscript bad cp (#1636) 2023-03-31 17:15:46 +05:30
tests refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02:00
vendor refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02:00
waku refactor: proper use of setupNat (#1740) 2023-05-17 18:32:53 +02: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 feat(cbindings): first commit - waku relay (#1632) (#1714) 2023-05-12 18:08:41 +02:00
.gitmodules chore: removed unused submodule (#1580) 2023-02-28 10:35:20 +02:00
CHANGELOG.md docs(changelog): release v0.17.0 (#1735) 2023-05-17 15:50:16 +02:00
Dockerfile feat(mem-analysis): Adding Dockerfile_with_heaptrack (#1681) 2023-04-25 17:54: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 feat(cbindings): first commit - waku relay (#1632) (#1714) 2023-05-12 18:08:41 +02:00
README.md chore(docs): add docker-compose instructions (#1444) 2022-12-05 16:25:37 +01:00
config.nims fix: only pass -msse3 if i386 or amd64 (#1608) 2023-03-15 12:08:53 +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 feat(cbindings): first commit - waku relay (#1632) (#1714) 2023-05-12 18:08:41 +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

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