JavaScript implementation of Waku v2 https://js.waku.org
Go to file
bors[bot] 3be57632f7
Merge #22
22: Fix js to js test r=D4nte a=D4nte

Several flows in gossipsub check against the peer's protocol. We need to override these instances to ensure it checks against waku relay protocol instead.

Fixes #7.

Co-authored-by: Franck Royer <franck@royer.one>
2021-04-01 07:34:18 +00:00
.github Build nim-waku if the binary cannot be executed 2021-03-26 14:35:18 +11:00
.vscode Initial commit 2021-03-05 09:34:01 +11:00
nim-waku@d1c1a0ca13 Update nim-waku, `0x` now optional in RPC requests 2021-03-29 14:25:03 +11:00
proto Avoid possible type name clash between js-waku and consuming apps 2021-04-01 11:18:35 +11:00
src Clean up imports 2021-04-01 18:27:15 +11:00
.cspell.json Override gossipsub function that checked for gossipsub peers 2021-04-01 16:58:26 +11:00
.editorconfig Initial commit 2021-03-05 09:34:01 +11:00
.eslintrc.json Use ts-proto 2021-03-22 15:49:58 +11:00
.gitignore Use ts-proto 2021-03-22 15:49:58 +11:00
.gitmodules Re-add nim-waku submodule 2021-03-19 11:23:34 +11:00
.mocharc.json Partial conversion to ts-node/mocha 2021-03-22 15:05:03 +11:00
.prettierignore Use waku messages over waku relay 2021-03-10 16:22:49 +11:00
README.md Clarify that incoming connections are actually not necessary 2021-04-01 15:46:14 +11:00
bors.toml Setup bors 2021-03-24 15:59:27 +11:00
buf.gen.yaml Implement chat message protobuf to support nick and time handles 2021-04-01 11:01:15 +11:00
buf.yaml Use waku messages over waku relay 2021-03-10 16:22:49 +11:00
jest.config.js Migrate to jest for better debugging experience 2021-03-17 15:34:58 +11:00
package-lock.json Use ts-proto 2021-03-22 15:49:58 +11:00
package.json Correct package name 2021-04-01 11:01:15 +11:00
tsconfig.json Revert unnecessary ts config changes 2021-03-22 22:06:10 +11:00
tsconfig.module.json Initial commit 2021-03-05 09:34:01 +11:00

README.md

js-waku

A JavaScript implementation of the Waku v2 protocol.

This is a Work In Progress

You can track progress on the project board.

Examples

Chat app

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:

npm install
npm run chat:app -- --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/55123). 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

To build and test this repository, you need:

To ensure interoperability with nim-waku, some tests are run against a nim-waku node. This is why nim-waku is present as a git submodule, which itself contain several submodules. At this stage, it is not possible to exclude nim-waku tests, hence git submodule update --init --recursive is run before testing (see pretest script).

To build nim-waku, you also need Rust.