nwaku/README.md

57 lines
1.6 KiB
Markdown
Raw Normal View History

2020-04-28 05:06:49 +00:00
# nim-waku
2020-05-08 20:39:16 +00:00
## Introduction
2020-05-08 20:39:16 +00:00
The nim-waku repository implements Waku v1 and v2, and provides tools related to it.
2020-05-08 20:39:16 +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).
- 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.
2020-05-08 20:39:16 +00:00
For more details on Waku v1 and v2, see their respective home folders:
2020-05-08 20:39:16 +00:00
- [Waku v1](waku/v1/README.md)
- [Waku v2](waku/v2/README.md)
2020-05-08 20:39:16 +00:00
## 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
2020-05-08 20:39:16 +00:00
* GNU Make, Bash and the usual POSIX utilities. Git 2.9.4 or newer.
* [Rust](https://www.rust-lang.org/)
2020-05-08 20:39:16 +00:00
More information on the installation of these can be found [here](https://github.com/status-im/nimbus#prerequisites).
### Wakunode
2020-05-08 20:39:16 +00:00
```bash
# 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
2020-05-08 20:39:16 +00:00
# See available command line options
./build/wakunode --help
./build/wakunode2 --help
2020-05-08 20:39:16 +00:00
# Connect the client directly with the Status test fleet
./build/wakunode --log-level:debug --discovery:off --fleet:test --log-metrics
# TODO Equivalent for v2
2020-05-08 20:39:16 +00:00
```
### Waku Protocol Test Suite
2020-05-08 20:39:16 +00:00
```bash
# Run all the Waku v1 and v2 tests
make test
2020-05-08 20:39:16 +00:00
```
### Examples
2020-05-08 20:39:16 +00:00
Examples can be found in the examples folder. For Waku v2, there is a fully
featured chat example.