fryorcraken 4d5c152f5b
feat: introduce reliable channels (#2526)
* SDS: pushOutgoingMessage is actually sync

* SDS: ensure that `ContentMessage` class is stored in local history with `valueOf` method

* feat: introduce reliable channels

Easy to use Scalable Data Sync (SDS, e2e reliability) wrapper, that includes:
- store queries upon connection to store nodes
- store queries to retrieve missing messages

* remove `channel` prefix

* attempt to improve performance when processing a lot of incoming messages

* test: split test file

* use index.ts for re-export only.

* improve if condition

* use getter for isStarted

* waku node already auto-start

* rename send

* fix lightPush.send type post rebase

* test: remove extra console.log

* SDS: emit messages as missing as soon as they are received

* make configurable elapse time for task process

* typo

* use string instead of enum for event types

* ReliableChannel.send returns the message id
2025-09-09 12:43:48 +10:00
2021-03-05 09:34:01 +11:00
2022-11-02 14:16:31 +11:00
2021-04-28 21:27:26 +10:00
2023-09-21 10:57:37 +02:00

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.

Description
JavaScript implementation of Waku v2
https://js.waku.org
Readme
Languages
TypeScript 95.1%
JavaScript 4.6%
Dockerfile 0.1%
Shell 0.1%