-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Milestone] Composing Waku Protocols to Improve Reliability #114
Comments
I think the user stories sound good and pretty comprehensive. My main issues stemmed from a few things so far
I implemented all of these in https://github.com/vpavlin/waku-dispatcher/blob/main/src/dispatcher.ts, so it would be great if we can have them in an official library |
At this point Given formulation I think our team can do following things:
In case of need we can keep an eye on what @vpavlin provided (and we chatted about month ago) - https://github.com/vpavlin/waku-dispatcher/blob/main/src/dispatcher.ts |
Current proposal is to limit the bindings to relay node: #121 |
@vpavlin I believe the problems you highlighted would be covered by the proposed user stories. |
We may also want to add something about connection feedback. I saw some reccent improvement in js-waku here: waku-org/js-waku#1666 |
Yes, I think the user stories are good |
should mention RLN |
Considering previous comments and this comment I would roughly define
We can de-scope some of these streams in the interest of time. @waku-org/js-waku-developers , @danisharora099 please, add anything I missed |
non-relay would be required for nwaku as well, because status desktop (light mode) and status mobile use lightpush and Filter. |
Interesting, we have not seen this so far with status testing. |
I don't expect Status to use the output of this milestone. Status already composes the protocols to enable reliability.
|
A potential follow up would be to add health indicator similar to waku-org/go-waku#1021 However, keeping this out of scope to expedite milestone delivery. |
LGTM. Sign-off to happen at Waku PM call |
Questions:
|
Signed-off EU-AS 19 Feb |
I suggest to only support autosharding as part of this milestone. |
This comment was marked as resolved.
This comment was marked as resolved.
Did you mean to update #137 ? |
We decided not to go with a health status to minimize milestone scope: waku-org/go-waku#1021 However this is is something we can do down the road on a follow-up milestone. |
Booking this under following issue for js-waku: waku-org/js-waku#1865 |
Milestone: https://github.com/waku-org/pm/milestone/7
NOTE: the work originally defined in this issue has been split between the following deliverables:
Epics
NOTE: Epics updated to fit within the above 2 Deliverables.
Summary
Deliverables:
Provide recommendation in a form of a library to compose the Waku protocols to minimize message loss at a protocol level. This is both for relay and non-relay node. The aim is to provide opinionated libraries that use Waku in a generalized manner. The library may not fit all use-case and can always be bypassed or forked.
Finally, the expectation is not 100% reliability but simply increased reliability for common scenarios. Application level solution for more certitude are covered as part of Minimum Viable Data Synchronization.
This is part of the general SDK strategy and expected to be implemented in each language:
Note that these SDKs needs to be reliable enough so that any developer can build a PoC application and reach a fair level of reliability.
However, it is assumed that when a developer want to push an application to MVP level or further, deeper understanding of Waku is needed to fine tune Waku usage to the application.
Functionalities/User Stories
First attempt to define a functional scope for this milestone:
A. relay node
B. non-relay node
Implementation Notes
Relay client
Non-relay client
Receiving messages:
Sending messages:
js-waku vs NodeJS bindings.
API for this output for js-waku and NodeJS bindings should aim to be aligned as much as possible, even if js-waku is non-relay and NodeJS is relay node.
Dependencies
To deliver the reliability part, this would depends on store v3 protocol to get access of message hashes.
On research side, couple of weeks left on this (as of 19 Feb) and iteration on nwaku needed.
The text was updated successfully, but these errors were encountered: