JavaScript implementation of Waku v2 https://js-waku.wakuconnect.dev
Go to file
Franck Royer 95b88d2815
Check against gossipsub protocol was also done in publish
Meaning it would sometimes fail to recognize another waku node at
a subscriber of a topic, depending on timing with the `subscribe`
call.
2021-04-01 15:47:34 +11: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 Check against gossipsub protocol was also done in publish 2021-04-01 15:47:34 +11:00
.cspell.json Override Gossipsub.join` function to consider waku peers 2021-03-24 12:22:00 +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.