Waku node and protocol.
Go to file
Jakub Sokołowski 086cb81a81 ci: add MAKE_TARGET parameter, remove default from IMAGE_TAG
Adjustments to Jenkinsfile to allow building of different targets and
pushing images with different tags depending on job parameters.

If we specify a `string` parameter in `parameters` they will be
overwritten in job definition after very job build.

I created four jobs at: https://ci.status.im/job/nim-waku/

* [manual](https://ci.status.im/job/nim-waku/job/manual/) - For building by hand
* [deploy-v1-test](https://ci.status.im/job/nim-waku/job/deploy-v1-test/) - Auto build from `master`
* [deploy-v2-test](https://ci.status.im/job/nim-waku/job/deploy-v2-test/) - Auto build from `master`
* [deploy-v2-prod](https://ci.status.im/job/nim-waku/job/deploy-v2-prod/) - Triggered manually

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2020-12-04 11:18:31 +01:00
.github/workflows Update setup-msys2 to v2 and increase max windows CI time to 90 mins 2020-10-07 15:57:01 +02:00
docs ci: add MAKE_TARGET parameter, remove default from IMAGE_TAG 2020-12-04 11:18:31 +01:00
examples Await WakuRelay publish on node (#313) 2020-12-02 10:40:53 +02:00
metrics Use metrics with labels, fix #24 (#27) 2020-06-09 13:44:39 +02:00
tests Adds web3 (#316) 2020-12-04 12:41:28 +08:00
vendor Adds web3 (#316) 2020-12-04 12:41:28 +08:00
waku waku.nimble: rename wakunode1 task binary to wakunode1 2020-12-04 11:18:31 +01:00
.dockerignore add a Dockerfile for creating nim-waku images 2020-05-27 12:51:20 +02:00
.gitignore fix/remove-ds (#249) 2020-11-02 12:11:31 +08:00
.gitmodules Adds web3 (#316) 2020-12-04 12:41:28 +08:00
CHANGELOG.md Await WakuRelay publish on node (#313) 2020-12-02 10:40:53 +02:00
Dockerfile Update Dockerfile 2020-11-04 16:21:17 +01:00
Jenkinsfile ci: add MAKE_TARGET parameter, remove default from IMAGE_TAG 2020-12-04 11:18:31 +01:00
LICENSE-APACHEv2 Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
LICENSE-MIT Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
Makefile Wakuv1v2 process (#238) 2020-10-21 17:54:29 +08:00
README.md Folder restructure (#274) 2020-11-17 17:34:53 +08:00
config.nims bump vendor/nimbus-build-system (#36) 2020-07-01 09:43:23 +02:00
env.sh Set up repo to make use of nimbus-build-system 2020-05-01 11:29:16 +02:00
waku.nimble waku.nimble: rename wakunode1 task binary to wakunode1 2020-12-04 11:18:31 +01: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.
  • 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.