JavaScript implementation of Waku v2 https://js.waku.org
Go to file
bors[bot] 85d585d937
Merge #127
127: Move web-chat to examples folder r=D4nte a=D4nte

Resolves #70 

Co-authored-by: Franck Royer <franck@status.im>
2021-05-05 07:48:01 +00:00
.github Move web-chat to examples folder 2021-05-05 16:35:14 +10:00
.vscode Format json files 2021-05-04 10:49:14 +10:00
examples Use one cspell file for all project inc examples 2021-05-05 16:40:23 +10:00
nim-waku@967db6d610
proto
src Move cli chat to examples folder 2021-05-05 10:53:40 +10:00
.cspell.json Use one cspell file for all project inc examples 2021-05-05 16:40:23 +10:00
.editorconfig
.eslintrc.json Remove null-assertion warnings for tests 2021-05-04 11:12:32 +10:00
.gitignore
.gitmodules
.mocharc.json Move mocha --exit to config file 2021-05-05 09:59:32 +10:00
.prettierignore
CONTRIBUTING.md
LICENSE-APACHE-v2
LICENSE-MIT
README.md Move web-chat to examples folder 2021-05-05 16:35:14 +10:00
bors.toml Move web-chat to examples folder 2021-05-05 16:35:14 +10:00
buf.gen.yaml
buf.yaml
package-lock.json Move cli chat to examples folder 2021-05-05 10:53:40 +10:00
package.json Move cli chat to examples folder 2021-05-05 10:53:40 +10:00
tsconfig.json Add few tsconfig rules 2021-05-04 10:49:13 +10:00
tsconfig.module.json Format json files 2021-05-04 10:49:14 +10:00

README.md

js-waku

A JavaScript implementation of the Waku v2 protocol.

Waku Protocol Support

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

Bugs, Questions & Features

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).

Examples

Web Chat App (ReactJS)

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.

CLI Chat App (NodeJS)

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.

Contributing

See CONTRIBUTING.md.

License

Licensed and distributed under either of

or

at your option. These files may not be copied, modified, or distributed except according to those terms.