Milestone - Store Service Upgrade
-
Store v3-beta - Message Hashes
- achieved:
- [research] implemented basic testing tools for storev3 benchmarking
- next:
- [research] run some tests against status.prod to get an idea of query times and bottlenecks, expand testing from there
- achieved:
-
Store v3 - store synchronisation
- achieved:
- [research] store resume PR updates
- next:
- [research] merge store resume PR
- achieved:
-
- achieved:
- [nwaku] Simplification of store legacy code to prevent wrong partition creation - chore: Simplification of store legacy code
- [nwaku] Validate the need for bigger database servers because they were swapping too much
- achieved:
Milestone - Direct Message Reliability
-
Telemetry: direct message reliability
- achieved:
- [chat] report peer id and number of connection failures to telemetry feat(telemetry)_: send connection failure metric, feat: handle metric for peer connection failure
- next:
- [chat] update dial function in go-waku to propagate dial failures to status-go
- blockers:
- achieved:
-
Reliability Protocol for Relay
- achieved:
- [nwaku] Simplify implementation and start using callbacks for API clients feat: enhance reliability thanks to StoreV3
- achieved:
-
Reliability Protocol for Resource-Restricted Clients
- achieved:
- [js-waku] validating filter messages, and performing renewals feat: validate messages for individual filter nodes & perform renewals
- [js-waku] health metric for node and protocols: feat: node and protocols health
- next:
- [nwaku] ongoing implementation feat: Enhance lightpush protocol error handling
- [js-waku] message send retries for lightpush: feat(lightpush): add retries to failing peers
- blockers:
- [js-waku] store v3 blocked by nwaku 0.32 release: feat!: store v3
- achieved:
-
User apps for large scale dogfooding
- achieved:
- [js-waku] add light push error metric and generic metric to dogfooding app feat: add light push error and generic waku metric, feat: record light push errors in dogfooding
- next:
- [js-waku] remove metric from queue on duplicate key error dogfooding: remove metric from queue on duplicate key error
- achieved:
-
Review MVDS usage and fail path
- achieved:
- [chat] bump mvds for clearing old states chore_: bump mvds
- next:
- [chat] move message hash query for outgoing messages to go-waku
- [chat] continue the request to join community test
- achieved:
Milestone - Static Sharding - dedicated shards
- Sharding peer management and discovery hardening
- achieved:
- [nwaku] Investigated bug: node getting stuck and missing messages. Created images for DST team to run and analyzed the resulting logs
- [research] added new metric and grafana dashboard focused on discovery, PR adding cluster filtering to Waku peer exchange
- next:
- [nwaku] Continue investigating the issue, now trying to understand how async futures are handled by the dispatcher
- achieved:
Milestone - Scale 1:1 chat messages PoC
- Provision RLN for light push clients PoC
- next:
- [research] Investigate how to use Paymasters aka gasless transactions for users, paid by a smart contract. Goal, PoC with go-waku-light
- next:
Milestone - Scale up number of Communities
- Usage of Rendezvous
- next:
- [research] rendez-vous discovery
- next:
Other Work
Enhancements
- achieved:
- [nwaku] Fixed failing js-waku interop tests and got CI to work again chore: changing default pubsub topic to its static sharding version
- [nwaku] Improving docs chore: updating doc reference to https rpc, switching RPC provider instructions from websocket to https, updating readme
- [nwaku] Bumped dependency for gcc 14 support chore: bumping nim-bearssl
- [nwaku] Deploy v0.31.0 in waku.prod and status.prod
- [chat] refactor: move rate limiter and priority queue from status-go to API package
- [chat] refactor: move missing messages logic from status-go to go-waku,
- [chat] remove unused code from wakuv2 refactor: extract missing messages logic to go-waku
- next:
- [js-waku] peers used by different protocols to be different from one-another to increase footprint: feat: peer selection for protocols
- [js-waku] filter API to be simple (reliability user story): feat: use decoder as a seed for subscription
Bugs
- achieved:
- [nwaku] building testing tools to analyze peer-exchange protocol and its behavior test: peer exchange testing tool
- [js-waku] continuous discovery updates for node information chore(peer-exchange): support updates of previously discovered peer’s addresses
- [chat] fix: missing wakuv2 fields in createAccountRequest toJson func fix: missing wakuv2 fields in createAccountRequest toJson func
- [chat] fix: storenode multiaddresses
- [chat] fix: handle scenario where the node’s ENR has no shard (due to shard update)
- next:
- [nwaku] bug: failed to retrieve peer info via peer exchange protocol
- [chat] verify missing messages to determine if storenode sync was executed