A JavaScript implementation of the Waku v2 protocol.
You can track progress on the project board.
- ✔: Supported
- 🚧: Implementation in progress
- ⛔: Support is not planned
Spec | Implementation Status |
---|---|
6/WAKU1 | ⛔ |
7/WAKU-DATA | ⛔ |
8/WAKU-MAIL | ⛔ |
9/WAKU-RPC | ⛔ |
10/WAKU2 | 🚧 |
11/WAKU2-RELAY | ✔ |
12/WAKU2-FILTER | |
13/WAKU2-STORE | ✔ (querying node only) |
14/WAKU2-MESSAGE | ✔ |
15/WAKU2-BRIDGE | |
16/WAKU2-RPC | ⛔ |
17/WAKU2-RLNRELAY | |
18/WAKU2-SWAP |
If you encounter any bug or would like to propose new features, feel free to open an issue.
For support, questions & more general topics, please join the discussion on the Vac forum (use #js-waku tag).
A ReactJS web app is provided as an a show case of the library used in the browser.
A deployed version is available at https://status-im.github.io/js-waku/
To run a development version locally, do:
git clone https://github.com/status-im/js-waku/ ; cd js-waku
npm install # Install dependencies for js-waku
npm run build # Build js-waku
cd examples/web-chat
npm install # Install dependencies for the web app
npm run start # Start development server to serve the web app on http://localhost:3000/js-waku
Use /help
to see the available commands.
A node chat app is provided as a working example of the library. It is interoperable with the nim-waku chat app example. To run the chat app, first ensure you have Node.js v14 or above:
node --version
Then, install and run:
git clone https://github.com/status-im/js-waku/ ; cd js-waku
npm install # Install dependencies for js-waku
npm run build # Build js-waku
cd examples/cli-chat
npm install # Install dependencies for the cli app
npm run start -- --staticNode /ip4/134.209.139.210/tcp/30303/p2p/16Uiu2HAmPLe7Mzm8TsYUubgCAW1aJoeFScxrLj8ppHFivPo97bUZ
You can also specify an optional listenAddr
parameter (.e.g --listenAddr /ip4/0.0.0.0/tcp/7777/ws
).
This is only useful if you want a remote node to dial to your chat app,
it is not necessary in normal usage when you just connect to the fleet.
See CONTRIBUTING.md.
Licensed and distributed under either of
- MIT license: LICENSE-MIT or http://opensource.org/licenses/MIT
or
- Apache License, Version 2.0, (LICENSE-APACHE-v2 or http://www.apache.org/licenses/LICENSE-2.0)
at your option. These files may not be copied, modified, or distributed except according to those terms.