Milestone - Store Service Upgrade
-
Store v3-beta - Message Hashes
- achieved:
- [research] Refined testing tools and query criteria for benchmark tests
- next:
- [research] run some more queries and discuss findings
- achieved:
-
Store v3 - store synchronisation
- achieved:
- [nwaku] Submitted PRs to enable store-sync in fleets: store node enable store-sync protocol, node enable store-sync protocol
- next:
- [research/nwaku] start store-sync dogfood
- achieved:
-
- achieved:
- [research] executed more benchmark test scenarios
- next:
- [research] figure out why some test setups get bad response after 5s
- [research] write test report
- achieved:
Milestone - Direct Message Reliability
-
Tooling: filter and light push protocols
- achieved:
- [nwalu] Grafana dashboard is available for monitoring test performance and message delivery issues: chore: add dashboard for liteprotocoltester runs chore: Added metrics to liteprotocoltester
- achieved:
-
Reliability Protocol for Relay
- achieved:
- [nwaku] PR merged chore: delivery monitor for store v3 reliability protocol
- achieved:
-
Reliability Protocol for Resource-Restricted Clients
- achieved:
- [js-waku] implement missing messages monitor feat(filter): reliability monitor as a separate class to handle reliability logic
- [js-waku] match RFC with having 2 peers used chore: change amount of used peers to 2
- [js-waku] complete offline Filter recovery feat: offline state recovery for Filter subscription
- [js-waku] improve peer selection feat: sort peers for protocol by least active connections
- [js-waku] prioritize connected peers chore: choose peers from the connected pool, instead of dialing unconnected peers
- next:
- [js-waku] improve peer selection feat: sort peers for protocol by least active connections
- [js-waku] prioritize connected peers chore: choose peers from the connected pool, instead of dialing unconnected peers
- achieved:
-
Review MVDS usage and fail path
- achieved:
- [chat] spec mvds usage in status feat: status mvds usage
- achieved:
Milestone - End-to-end reliability protocol
-
End-to-end reliability protocol - PoC
- next:
- [research] incorporate better logging and other suggestions from dogfooding for POC
- next:
-
End-to-end reliability protocol - Status integration
- achieved:
- [research] research on status-go to assess suitable approach for API with e2e reliability
- next:
- [research] start documenting findings for Status API
- achieved:
Milestone - Static Sharding - dedicated shards
- Sharding peer management and discovery hardening
- achieved:
- [nwaku] Implemented most of the pubsub topic config deprecation chore: deprecating pubsub topic
- [chat] shard aware peer store pruning feat: shard aware pruning of peer store
- [chat] filter peer exchange peers served feat: shard based filtering in peer exchange
- next:
- [nwaku] finish and merge chore: deprecating pubsub topic
- achieved:
Milestone - Scale 1:1 chat messages PoC
-
Maturing RLN variables/parameters revision
- achieved:
- [research] first version of implementation roadmap for RLN on mainnet RLN on mainnet - Implementation Roadmap
- next:
- [research] discuss implementation roadmap
- achieved:
-
Provision RLN for light push clients PoC
- achieved:
- [research] drafting forum post on service incentivization (WIP)
- next:
- [research] forum post work cont’d
- achieved:
Other Work
Enhancements
- achieved:
- [nwaku] Prepared and validated release candidate for
v0.32.0
- [nwaku] Fixed bug importing Negentropy fix: libnegentropy integration which made fleet deployments fail
- [nwaku] Started nwaku integration in status-go. The nwaku node can run from within the status-cli (very initial phase.)
- [nwaku] Revisit nwaku for Windows 11 issue feature: support Windows 11
- [nwaku] Utilized peer exchange (PX) tools to analyze optimal refresh rates for PX response health update PR fix: peer-exchange issue
- [nwaku] litprotocoltester tool helped to discover duplicated messages problem
- [nwaku] Issue reproduced with the latest release in local simulation with liteprotocoltester and waku-sim: bug: duplicate messages on the network logs are gathered and started to analyze
- [nwaku] print WakuMessageHash as hex strings to make logs more readable chore: print WakuMessageHash as hex strings
- [chat] create sender api for publishing messages and sent check chore: refactor sender api
- [chat] remove satus.test fleet chore_: remove status.test fleet
- [chat] refactor - use concrete datatypes instead of string refactor_: use concrete datatypes instead of string
- [js-waku] improve devex by enabling insecure web sockets chore: enable back filterAll if set by consumer
- [js-waku] move to Node.js LTS chore: upgrade node to LTS 20
- [js-waku] return better error codes and improve error handling feat(lightpush)!: return new error messages
- [nwaku] Prepared and validated release candidate for
- next:
- [nwaku] Perform the release
- [nwaku] Carry on analyzing the logs to track the duplicate msg issues in light protocols.
Bugs
- achieved:
- [chat] fix flaky waku2 test chore: fix TestBasicWakuV2
- [chat] fix use UTC time in logs chore: use utc time in logs to avoid user location getting disclosed
- [js-waku] fix imports that were crushing the node fix: import of base_protocol and networkConfig type guard