2023-07-28 05:46:02 +00:00
# Nwaku
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
## Introduction
2020-05-08 20:39:16 +00:00
2023-07-28 05:46:02 +00:00
The nwaku repository implements Waku v1 and v2, and provides tools related to it.
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
- A Nim implementation of the [Waku v1 protocol ](https://specs.vac.dev/waku/waku.html ).
- A Nim implementation of the [Waku v2 protocol ](https://specs.vac.dev/specs/waku/v2/waku-v2.html ).
2023-07-28 05:46:02 +00:00
- CLI applications `wakunode` and `wakunode2` that allow you to run a Waku v1 or v2 node.
2020-11-17 09:34:53 +00:00
- Examples of Waku v1 and v2 usage.
- Various tests of above.
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
For more details on Waku v1 and v2, see their respective home folders:
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
- [Waku v1 ](waku/v1/README.md )
- [Waku v2 ](waku/v2/README.md )
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
## How to Build & Run
2023-07-28 05:46:02 +00:00
These instructions are generic and apply to both Waku v1 and v2. For more detailed instructions, see Waku v1 and v2 home above.
2020-11-17 09:34:53 +00:00
### Prerequisites
2020-05-08 20:39:16 +00:00
2023-07-28 05:46:02 +00:00
The standard developer tools, including a C compiler, GNU Make, Bash, and Git. More information on these installations can be found [here ](https://docs.waku.org/guides/nwaku/build-source#install-dependencies ).
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
### Wakunode
2020-05-08 20:39:16 +00:00
```bash
# The first `make` invocation will update all Git submodules.
2023-07-28 05:46:02 +00:00
# You'll run `make update` after each `git pull` in the future to keep those submodules updated.
2020-11-17 09:34:53 +00:00
make wakunode1 wakunode2
2020-05-08 20:39:16 +00:00
# See available command line options
./build/wakunode --help
2020-11-17 09:34:53 +00:00
./build/wakunode2 --help
2020-05-08 20:39:16 +00:00
```
2022-12-05 15:25:37 +00:00
For more on how to run `wakunode2` , refer to:
2023-07-28 05:46:02 +00:00
- [Run using binaries ](https://docs.waku.org/guides/run-nwaku-node#download-the-binary )
- [Run using docker ](https://docs.waku.org/guides/nwaku/run-docker )
- [Run using docker-compose ](https://docs.waku.org/guides/nwaku/run-docker-compose )
2022-12-05 15:25:37 +00:00
2020-11-17 09:34:53 +00:00
### Waku Protocol Test Suite
2020-05-08 20:39:16 +00:00
```bash
2020-11-17 09:34:53 +00:00
# Run all the Waku v1 and v2 tests
make test
2020-05-08 20:39:16 +00:00
```
2020-11-17 09:34:53 +00:00
### Examples
2020-05-08 20:39:16 +00:00
2020-11-17 09:34:53 +00:00
Examples can be found in the examples folder. For Waku v2, there is a fully
featured chat example.
2022-03-28 12:17:50 +00:00
2022-10-11 03:58:44 +00:00
### Tools
Different tools and their corresponding how-to guides can be found in the `tools` folder.
2022-03-28 12:17:50 +00:00
### Bugs, Questions & Features
2023-07-28 05:46:02 +00:00
For an inquiry, or if you would like to propose new features, feel free to [open a general issue ](https://github.com/waku-org/nwaku/issues/new ).
2022-03-28 12:17:50 +00:00
2023-07-28 05:46:02 +00:00
For bug reports, please [tag your issue with the `bug` label ](https://github.com/waku-org/nwaku/issues/new ).
2022-03-28 12:17:50 +00:00
2023-07-28 05:46:02 +00:00
If you believe the reported issue requires critical attention, please [use the `critical` label ](https://github.com/waku-org/nwaku/issues/new?labels=critical,bug ) to assist with triaging.
2022-03-28 12:17:50 +00:00
2023-07-28 05:46:02 +00:00
To get help, or participate in the conversation, join the [Waku Discord ](https://discord.waku.org/ ) server.