Waku Update
- 2024 Milestone work breakdowns underway. Target date estimates, Epics and sub-tasks to be created following scope sign off.
Research
- achieved:
- script to benchmark rln
- started rln+gossipsub paper, some plots
- tidying TWN Connectivity Research issue
- Waku Sync overview first draft
- started implementation of incentivization RFC
- starting on protobuf codec for eligibility proofs
- first draft for new Store protocol that is simpler, more feature-rich and store-sync ready
- next:
- Continue onchain merkle proofs PoC + paper
- Waku Sync overview finalization and Sync protocol first draft
- address review comments, refine design of new Store protocol
- blocked:
nwaku
- achieved:
- REST endpoint can serve its own messages as well as act as store-client
- add simple dictionary with known words so that cSpell doesn’t complain
- worked on how to make the tests not to core dump
- start creating basic py-waku structure that allows to create a py-waku module that can be imported in Python projects.
- start using nph formatter extension
- PR is under review - covers LightPush and Store request rate limiting
- “bug fix” in README.md
- Add new panel to show num msgs per shard
- applied all the feedback from the reviews. Changed the validation logic in our codebase so that the same validator runs for all pubsub topics. Applied fixes for autosharding endpoint. Merged PRs, closed issue.
- fixed decoding error when trying to send a message with the new meta field
- added debug logs in nim-websock dependency and reproduced the issue with them for further investigation
- helped debug and find root cause of a long-standing failed test for dynamically added pubsub topics
- merged better error handling when cluster id and shards are used
- merged sharded peer manager experiment
- merged vendor bump for version 0.25.0
- next:
- finalize demo implementation (demo in terms uses Presto un-released feature) on refactor Waku RestService to utilize middleware approach and solve CORS headers issue.
- prepare Release 0.25.0 release and test it.
- wrap up the py-waku repository and make it clear that it is a PoC and is not going to be continued in short-term.
- wait until the 0.4 version of the nph extension is released and then we perform the actual migration.
- add metrics and dashboard, update configuration doc
- debug failed tests
js-waku
- Decouple sharding logic from internal classes to SDK
- achieved:
- SDK functions for creating a subscription to a content topic using a callback or returning a stream
- next:
- function like above but starts a node with default settings as well
- blocker:
- remove requirement to pass a peer ID to above function
go-waku
- achieved :
- Support getting peers by shard via PeerExchange
- Identified some improvements/changes to be done in go-waku based on status use-case to status-go feat: notify app when peer scores for all connected relay peers goes below thresholds & feat: Report shard/pubsubTopic specific connection health/status
- Added rate limiter option to lightpush
- Added support for multiple public keys per topic (likely to not get merged due to issues found)
- next:
ChatSDK
- achieved:
- next:
- continue store rfc reviews, continue analysis of filter unsubscribe issue
- continue permissionless communities setup
EcoDev
Docs
- achieved:
- next:
- blocker:
Ecosystem Development
- achieved:
- Recorded 2 builder spotlight videos
- Added faqs
- Started drafting the optimism grant proposal
- Logos x HOPR space, Web3Privacy, 30 days of web3
- next:
- Tidied up metrics dashboard and host it with help from vaclav/infra
- Create rln/node setup cheatsheet
- Prepare for ethdenver
- Kick off out-of-band node incentivization discussion
Solutions
- achieved:
- basic metrics (num of connectable nodes and avg ping) added to the dashboard
- next:
- modify NetworkMonitor to work with The Waku Network
Status Integration
- achieved:
- Investigated and found out root-cause for message loss issue identified in status-desktop
- Investigated and found out root-cause for message loss issue identified in status-mobile CI
- Review status-go usage of Waku to identify improvements/changes
- fixed missing cluster ID in node config
- added peer count to logs when sending msg via relay
- fixed history sync regardless of using a data plan or wifi
- fix: full nodes will run filter and lightpush
- next:
- Support status integration in case of message loss or Waku related issues
- Continue reviewing status-go code from Waku usage perspective of sharding
- Continue working on bug fixes or issues related to status-go x waku integration