Waku Update
- Currently the Waku team is focused on completing the remaining critical TWN Generation 0 Milestone Epics, the Status Integration, and various bug fixes and enhancements.
- Waku’s development is divided among 5 teams: nwaku, go-waku, js-waku, chat-sdk, and ecosystem-development.
- 2024 Milestones and Epics are currently being structured, kickoffs slated begin first week of February.
- The go-waku and chat-sdk teams were at the Status integration Doha offsite January 13 - 21.
Waku Network Gen 0
Open Epics
- Autosharding for autoscaling | js-waku | critical | 66%
- Node bandwidth management mechanism | nwaku | not critical | 0%
- Sharded peer management and discovery | js-waku | critical | 87%
- Launch and dogfood integrated public Waku Network MVP | nwaku | critical | 0%
- Production testing of existing protocols | js-waku & nwaku | critical | 40%
- Sharded capability discovery for light protocols | js-waku & go-waku | critical | 0%
- Basic DoS protection in production | go-waku & research | critical | 28%
- Basic front end for node operator | js-waku & nwaku | critical | 83%
January 22 Update
nwaku
TWN Connectivity Prepare release 0.24.0
- achieved: big picture solutions for TWN connectivity problem , coordinate nwaku v0.24 release candidate
- next: Nwaku v0.24.0 test and release, autosharding/cluster-id error handling, moar connectivity research
bug: restart loop of current master
- achieved: investigated, found the root cause and solution. Afterwards, got requested a change in logging, implemented it and raised PR.
- next: get confirmation that the change in logging meets Infra’s needs and get the PR reviewed and merged
feat: REST API - large messages does not seem to be rejected by relay auto api
- achieved: developed and tested an initial working implementation
- next: after talking to Franck, will implement it differently with a more generalized message verification logic
chore: improve POST /relay/v1/auto/messages/{topic} error handling
- achieved: fix compilation errors, open PR, implement feedback and merge
bug: incomplete data sent or received log appearing when WSS is enabled
- achieved: investigated code, ran private images with logs on nim-libp2p and analyzed results. Talked to nim-libp2p team to further understand where the failure happens
- next: investigate further with the new understanding after talking with nim-libp2p team
chore: review waku-simulator deployment and improve tracking processes
- achieved: found that simulator’s nwaku image wasn’t getting updated with latest master. Requested Infra for the fix and verified afterwards that it’s working properly
- next: talk with stakeholders to see what metrics/logs we should keep track of and how
bug: Filter doesn’t receive messages after subscribing and restarting
- _achieved:_ investigated and fixed cause of failing test
chore: Refactor of FilterV2 subscription management with Time-to-live maintenance
- achieved: Filter V2 subscription management reworked: new Time-to-live tracking, configurable limits of peers served and suvbscriptions per peer. Subscription per request is raised from 30 to 100 (hardcoded)
bug: access-control-allow-origin should be set to localhost
- achieved: Alignment with Eugen (presto and chronos maintainer) is made upon the solution to be applied on presto rest server class.
- next: Once new desing is ready and pushed to presto library, we can add the already prepared “allowed origin” matching mechanism that will enable proper CORS header in response to rest request.
feat: Enforce service specific rate limits
- next: measurement of usage rates of store protocol to be added (also add to grafana dashboard), add configurable limits (query per sec/min)
js-waku
chore: upgrade lip2p feat: set cluster ID as optional when specifying shard info feat: Peer management with shard as a dimension
- achieved:
- upgrade libp2p to 1.X
- improved how params are handled between consumer-facing and internal functions
- fix failing tests for autosharding peer mgmt
allow user to pass content topic to createSubscription feat: sdk function to setup autosharding node with application and version feat: determine bootstrap behavior based on sharding type
- next:
- allow creating subscriptions with just content topics
- setup node with just application and version
- determine boostrap behavior based on sharding type
Decouple sharding logic from internal classes to SDK
- blockers:
- need review of issue for decoupling sharding logic
feat: simplify rln-js feat: simplify API of bootstrapping, connection to MetaMask chore: investigate interop test failures chore: fix go-waku interop tests
- achieved:
- Simplified
rln-js
- Step 1 to improve API
- interop tests with nwaku
- identified problems with go-waku
- Simplified
- next:
- new cred registration example (based on prev examples)
- continue with improvements
- action if needed to improve testability with go-waku
- some bugs found in rln
feat!: protocols filter peers per shard feat: SDK for redundant usage of filter/lightpush
- achieved:
- merged: sharded peer management
- merged: redundant peers for lightpush & filter
feat: local storage as a discovery layer feat: SDK for redundant usage of filter/lightpush
- next:
- Introducing Local Storage as a discovery layer, handle renewing of faulty redundant peers (TODO 3) on feat: SDK for redundant usage of filter/lightpush
go-waku
-
achieved:
- investigated and identified the root-cause of bug: filter delay errors and provided a solution
- started documenting tips/approach to help message loss debug issues for status QA both from status-go and waku perspective Debugging
-
next:
- investigate and identify root-cause of message loss while using relay Unable to Receive msgs while us…
- finish documenting message loss debugging
bug: filter delay errors Contact requests are not received without restart
-
achieved:
- investigation with Jakub and Igor to find out the reason why store request were taking a long time to be retrievedsage reliability issues were present on CI for filter.
- investigate and fix Contact requests are not received without restart (some commits were missing in desktop
master
branch. - Status x Waku war room at Doha
-
next:
- fix issues reported in status
eco-dev
[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and Vue.js
- achieved:
- thorough review and feedback
- next:
- final review and approval
add content topic buckets consideration
- achieved:
- merged add content topic buckets consideration on content topic consideration, playing around with Noise encryption
[Epic] Encryption documentation
-
next:
- creating an initial draft for Noise docs, go-waku docs migration
-
achieved :
- completed and recorded videos with 2 teams for builder spotlight, positioning call is completed, revised the cheatsheet based on ethindia feedback
-
next :
- get the videos reviewed