5a967ecbcc
`Message` is a very generic name and JS does not offer strong namespace boundaries. Using `WakuMessage` avoid name clashing with classes of the consumer app. |
||
---|---|---|
.github | ||
.vscode | ||
nim-waku@d1c1a0ca13 | ||
proto | ||
src | ||
.cspell.json | ||
.editorconfig | ||
.eslintrc.json | ||
.gitignore | ||
.gitmodules | ||
.mocharc.json | ||
.prettierignore | ||
README.md | ||
bors.toml | ||
buf.gen.yaml | ||
buf.yaml | ||
jest.config.js | ||
package-lock.json | ||
package.json | ||
tsconfig.json | ||
tsconfig.module.json |
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 --listenAddr /ip4/0.0.0.0/tcp/55123
The --listenAddr
parameter is optional, however NAT passthrough is not yet supported, so you'll need the listening port to be open to receive messages from 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.