JavaScript implementation of Waku v2 https://js.waku.org
Go to file
Danish Arora 124a29ebba
feat(static-sharding): filter peer connections per shards (#1626)
* add interface for `ShardInfo`

* enr: add deserialization logic & setup getters

* add sharding related utils

* utils: add shard<-> bytes conversion helpers

* pass `pubSubTopics` to `Waku`

* add `rs`/`rsv` details during discovery

* connection-manager: discard irrelevant peers

* add tests for static sharding - peer exchange

* update `ConnectionManager` tests to account for topic validity

* add js suffix to import

* address some comments

* move shardInfo encoding to ENR

* test: update for new API

* enr: add tests for serialisation & deserialisation

* address comment

* update test

* move getPeershardInfo to ConnectionManager and return ShardInfo instead of bytes

* update encoding and decoding relay shards to also factor for shards>64

* relay shard encoding decoding: use DataView and verbose spec tests

* improve tests for relay shard encoding decoding

* rm: only

* improve log message for unconfigured pubsub topic

* minor improvement

* fix: buffer <> Uint8array problems with shard decoding

* fix: test

* rm: only
2023-10-10 20:18:02 +05:30
.github chore: update org (#1632) 2023-10-03 16:11:41 +05:30
.husky Add git hook to format & lint file 2022-02-25 14:18:46 +11:00
.vscode chore: remove prettier, and default to eslint (#1495) 2023-09-04 12:37:38 +05:30
ci chore: upgrade libp2p and related deps (#1482) 2023-08-16 20:18:13 +05:30
packages feat(static-sharding): filter peer connections per shards (#1626) 2023-10-10 20:18:02 +05:30
.cspell.json chore: update org (#1632) 2023-10-03 16:11:41 +05:30
.editorconfig Initial commit 2021-03-05 09:34:01 +11:00
.eslintrc.json feat: add playwright CI testing (#1542) 2023-09-22 14:34:16 +02:00
.gitignore feat: add playwright CI testing (#1542) 2023-09-22 14:34:16 +02:00
.prettierignore chore: use root .prettierignore (#1285) 2023-04-03 23:39:59 +02:00
.release-please-manifest.json chore: release master (#1558) 2023-09-11 13:27:24 +02:00
.size-limit.cjs chore!: remove filter v1 (#1433) 2023-07-26 11:30:48 +05:30
CONTRIBUTING.md feat: use nwaku/go-waku docker images instead of building binaries (#1259) 2023-04-17 10:29:36 +05:30
LICENSE-APACHE-v2 Apply MIT or Apache V2.0 License 2021-04-28 21:27:26 +10:00
LICENSE-MIT Apply MIT or Apache V2.0 License 2021-04-28 21:27:26 +10:00
README.md chore: README.md: fix quick start link (#1607) 2023-09-22 17:32:34 +02:00
bors.toml chore: must always build first now 2022-11-02 14:16:31 +11:00
karma.conf.cjs remove webkit from running (#1621) 2023-09-27 15:15:07 +05:30
package-lock.json feat(static-sharding): filter peer connections per shards (#1626) 2023-10-10 20:18:02 +05:30
package.json chore(deps)(deps-dev): bump gh-pages from 5.0.0 to 6.0.0 (#1638) 2023-10-10 12:44:38 +05:30
release-please-config.json chore: remove forced release version of sdk (#1406) 2023-06-17 01:46:29 +02:00
tsconfig.dev.json chore: update typescript (#1528) 2023-09-21 10:57:37 +02:00
tsconfig.json chore: update typescript (#1528) 2023-09-21 10:57:37 +02:00
typedoc.base.json chore: update typescript (#1528) 2023-09-21 10:57:37 +02:00
typedoc.cjs chore: update typescript (#1528) 2023-09-21 10:57:37 +02:00

README.md

GitHub Action Code Climate Discord chat

js-waku

A TypeScript implementation of the Waku v2 protocol.

Documentation

API Documentation can also be generated locally:

git clone https://github.com/waku-org/js-waku.git
cd js-waku
npm install
npm run doc

Bugs, Questions & Features

If you encounter any bug or would like to propose new features, feel free to open an issue.

For general discussion, get help or latest news, join us on Vac Discord or the Waku Telegram Group.

Roadmap

You can track progress on the project board.

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.