--- title: 2024-07-29 Waku Weekly tags: - waku-updates date: 2024-07-29 --- ## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - [Store v3-beta - Message Hashes](https://github.com/waku-org/pm/issues/131) - achieved: - [research] completed first draft of storev3 benchmark test plan - next: - [research] implementing test tools, finalising test plan - blockers: - [research] not clear on HW setup on which benchmarking should be done - [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - achieved: - [research] last online timestamp periodically saved to new sqlite db, store client query for last messages, tests - next: - [research] reviews, hand-off to nwaku team for merging - [DOS protection for req-res protocols and metrics](https://github.com/waku-org/pm/issues/66) - achieved: - [nwaku] [Node Bandwidth Management Features](https://github.com/waku-org/pm/issues/117) - [nwaku] [Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032) - [nwaku] Separate add distinction between gross/net inbound traffic of shards. [chore: Distinction between gross/net trafic in bandwidth per shard metric](https://github.com/waku-org/nwaku/pull/2920) - next: - [nwaku] dogfooding - [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - achieved: - [nwaku] Improved Sonda's Grafana dashboard [chore: show relative metrics instead of absolute in Sonda](https://github.com/waku-org/nwaku/issues/2904) - [nwaku] Improved Sonda's logging [chore: including UTC time in Sonda logs](https://github.com/waku-org/nwaku/pull/2926) - [nwaku] Analysed that messages_lookup is a good approach [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895) - next: - [nwaku] Implement messages_lookup to enhance hashes-only queries [chore: improve postgres query performance](https://github.com/waku-org/nwaku/issues/2895) ## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - [Review connection management strategy and back-off and fix long disconnection issues](https://github.com/waku-org/pm/issues/177) - achieved: - [chat] [Rate limit message publishing](https://github.com/status-im/status-go/pull/5523) - [chat] [Disconnect all peers if ping to randomly choosen peers fails twice](https://github.com/status-im/status-go/pull/5526), [chore: disconnect on subsequent ping failures](https://github.com/waku-org/go-waku/pull/1164) - [chat] improve lightclient connectivity by publishing their shard info in metadata [fix: lightclient enr shards](https://github.com/status-im/status-go/pull/5519) and [fix: check for lightclient only if req doesn't contain shards](https://github.com/waku-org/go-waku/pull/1161) - [chat] [record connection failures for req/resp protocols](https://github.com/waku-org/go-waku/pull/1163) - [Tooling: filter and light push protocols](https://github.com/waku-org/pm/issues/178) - achieved: - [chat] [Lightpush and Filter bandwidth metrics](https://github.com/status-im/status-go/pull/5547), [feat: store filter and lightpush stats](https://github.com/status-im/telemetry/pull/30) - [nwaku] Little enhancement for network connectivity, use bootstrap enr's to connect to any kind of network and detect shardings - [nwaku] Auto-select service peers and use them randomly for testing on both sides. - [nwaku] Run lite-protocol-tester on shards.staging - [Telemetry: direct message reliability](https://github.com/waku-org/pm/issues/182) - achieved: - [chat] Fix concurrent RW on map in telemetry server: [fix: concurrent rw on map](https://github.com/status-im/telemetry/pull/31) - [chat] Improve storednode message counter dashboard: [storenode-message-counter](https://grafana.infra.status.im/d/hmX6pJ_Iz/storenode-message-counter?orgId=1) - [Reliability Protocol for Relay](https://github.com/waku-org/pm/issues/184) - next: - [nwaku] ongoing implementation in nwaku: [feat: Enhance lightpush protocol error handling](https://github.com/waku-org/nwaku/issues/2722) - [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - achieved: - [chat] [lightclient error handling](https://github.com/waku-org/go-waku/pull/1160) - [js-waku] health state of nodes [feat: node and protocols health](https://github.com/waku-org/js-waku/pull/2080) - [js-waku] improve continuous peer discovery [feat(peer-exchange): support continuous peer information updates](https://github.com/waku-org/js-waku/pull/2088) - next: - [js-waku] complete review for health state of node and continuous peer discovery - [User apps for large scale dogfooding](https://github.com/waku-org/pm/issues/188) - achieved: - [js-waku] dogfooding app is up and running https://lab.waku.org/dogfooding/ - next: - [js-waku] need to fix HTTP headers on the serving site, build basic dashboard ## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - [End-to-end reliability protocol - PoC](https://github.com/waku-org/pm/issues/193) - achieved: - [research] added comprehensive tests for the e2e reliability POC - next: - [research] fixes arising from tests, some cleanup and prepare for dogfooding ## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - [Sharding peer management and discovery hardening](https://github.com/waku-org/pm/issues/172) - achieved: - [research] adding metrics, manual testing - [nwaku] Creating versions for DST team to test discv5 and message reliability - [nwaku] improved nim-libp2p PR with custom logging observer [chore: creating branch to test Waku's received messages](https://github.com/vacp2p/nim-libp2p/pull/1128) - [nwaku] Opened issue and investigated the phenomenon of some nodes getting stuck and missing messages in DST simulations [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - next: - [nwaku] Continue with the implementation of the bootstrap nodes connection limiting - [nwaku] Refactor code now that named shading is removed, and deprecate pubsub-topic configuration ## Other Work ### Enhancements - achieved: - [nwaku] Revised nwaku nodes' logging and moved added PRs in nwaku and nim-libp2p to downgrade particularly spammy logs [chore: reduce loglevel to some too frequent or unnecessary logs](https://github.com/waku-org/nwaku/issues/2907) - [nwaku] Added a CI job verifying that new code is properly linted [chore: adding lint job to the CI](https://github.com/waku-org/nwaku/pull/2925) - [nwaku] Started going over failed interop tests [bug: nwaku <> js-waku interop tests failing](https://github.com/waku-org/nwaku/issues/2621) - [nwaku] Release candidate v0.31.0 looks nice from Status-QA PoV [Prepare release 0.31.0](https://github.com/waku-org/nwaku/issues/2909) - [nwaku] Have the interop tests fixed and a working CI - [nwaku] Little enhancement on tooling, now single file build/test-run available right from make - [js-waku] better linting for classes [chore: enforce access modifiers](https://github.com/waku-org/js-waku/pull/2068) - [js-waku] fix peer exchange tests [chore(peer-exchange): use an event listener to gauge if the service is mounted](https://github.com/waku-org/js-waku/pull/2071) - [js-waku] remove a bit of tech debt [chore: remove content_topic specific API](https://github.com/waku-org/js-waku/pull/2081) - next: - [nwaku] Perform release v0.31.0 - [js-waku] Release ### Bugs - achieved: - [nwaku] [bug: RLN_RELAY_MSG_LIMIT handling](https://github.com/waku-org/nwaku/issues/2822) - [nwaku] [feature: support Windows 11](https://github.com/waku-org/nwaku/issues/2473) made little progress on this it’s ongoing. - [nwaku] [bug: peer exchange returns nodes that no longer exist](https://github.com/waku-org/nwaku/issues/2414) - next: - [nwaku] [bug: failed to retrieve peer info via peer exchange protocol](https://github.com/waku-org/nwaku/issues/2875) - [nwaku] building test-peer exchange app on top of the network to analyze peer-exchange behaviour again cache refresh rate.