--- title: 2024-10-14 Waku Weekly tags: - waku-updates date: 2024-10-14 --- ## [Milestone - Store Service Upgrade](https://github.com/waku-org/pm/milestone/28) - [Store v3 - store synchronisation](https://github.com/waku-org/pm/issues/132) - achieved: - [research] progress on Waku Sync 2.0 POC - [research] Received input on store sync test goals and made progress on a test plan - [nwaku] Enhance error response instead of ambiguous numerical in waku_sync. We need two pull requests, one for negentropy and another one for nwaku. [1](https://github.com/waku-org/nwaku/pull/3102) [2](https://github.com/waku-org/negentropy/pull/13) - next: - [research] finishing Waku Sync 2.0 POC - [research] get store sync enabled again on status.staging and implement docker-compose to run multiple store sync nodes with their own DB for simulations - [PostgreSQL Maintenance](https://github.com/waku-org/pm/issues/119) - achieved: - [nwaku] [chore: store queries for content topics take longer with cursor](https://github.com/waku-org/nwaku/issues/2963) - [nwaku] [chore: optimize store v3 queries](https://github.com/waku-org/nwaku/issues/2948) - next: - [research] run benchmark tests to get comparison of duration before and after optimisation - [nwaku] Reach a conclusion on whether we need time-sortable msgHash [chore: make the msg hash time-sortable](https://github.com/waku-org/nwaku/issues/3034) ## [Milestone - Direct Message Reliability](https://github.com/waku-org/pm/milestone/29) - [Reliability Protocol for Resource-Restricted Clients](https://github.com/waku-org/pm/issues/186) - achieved: - [js-waku] refined LightPush implementation for better testability and reliability [](https://github.com/waku-org/js-waku/pull/2155) - [chat] add backoff strategy for filter subscriptions in case of recurring failures [](https://github.com/waku-org/go-waku/pull/1238) - next: - [js-waku] enhanced peer and connection management for better reliability of FilterĀ [feat: enhancing protocol management with mutex locks](https://github.com/waku-org/js-waku/pull/2137) - [js-waku] investigate and fix problematic points in reliability manager that breaks Filter subscriptions sometimes [feat(lightPush): improve peer usage and improve readability](https://github.com/waku-org/js-waku/issues/2158) - [js-waku] limit max amount of open connections to prevent spamming of TWN [feat: maintain max open connection & prune unhealthy connections from peer store](https://github.com/waku-org/js-waku/issues/2168) ## [Milestone - End-to-end reliability protocol](https://github.com/waku-org/pm/milestone/30) - [End-to-end reliability protocol - Status integration](https://github.com/waku-org/pm/issues/194) - achieved: [research] progress on implementation of the API in nim - next: [research] finish implementing the core reliability API functions ## [Milestone - Static Sharding - dedicated shards](https://github.com/waku-org/pm/milestone/31) - [Enable testing of custom shard implementation for Communities](https://github.com/waku-org/pm/issues/196) - achieved: [chat] add mvds to cli logs to pick them up with the tests: [chore_: check mvds for tests](https://github.com/status-im/status-go/pull/5928) ## [Milestone - RLN Mainnet](https://github.com/waku-org/pm/milestone/34) - [Implement RLN smart contract for paid, multilevel memberships](https://github.com/waku-org/pm/issues/256) - achieved: - [chat] waku-rlnv2-contract: setup linea deployment - [feat: deploy to Linea](https://github.com/waku-org/waku-rlnv2-contract/pull/18) - [chat] waku-rlnv2-contract: refactor to keep contract Owned and not Owned2Step - [feat: Ownable2StepUpgradeable to OwnableUpgradeable](https://github.com/waku-org/waku-rlnv2-contract/pull/21) ## [Milestone - Scale up number of Communities](https://github.com/waku-org/pm/milestone/32) - [Usage of Rendezvous](https://github.com/waku-org/pm/issues/199) - blockers: [research] wait for new nim-libp2p version ## [Milestone: Nwaku in Status Desktop](https://github.com/waku-org/pm/milestone/33) - [Nwaku in Status Desktop](https://github.com/waku-org/pm/issues/203) - achieved: - [nwaku] [chore: adding missing error handling in libwaku](https://github.com/waku-org/nwaku/pull/3084) - [nwaku] [fix: remove quotes from libwaku's returned enr string](https://github.com/waku-org/nwaku/pull/3097) - [nwaku] [fix: changing libwaku's error handling format](https://github.com/waku-org/nwaku/pull/3093) - [nwaku] Adding fixes to `status-go` nwaku basic test, getting DNS discovery to work - [Nwaku on Windows](https://github.com/waku-org/pm/issues/239) - achieved: [nwaku] compile libwaku and some examples - next: [nwaku] Run wakunode2, cwaku_example, and tests on Windows ## [Milestone: Incentivise running a Waku infrastructure node](https://github.com/waku-org/pm/milestone/35) - [Service Incentivisation - Service incentivisation roadmap & spec](https://github.com/waku-org/pm/issues/246) - achieved: [research] review some RLN on mainnet contract PRs - next: [research] service incentivization spec update ### [Milestone: Demonstrate product-market fit](https://github.com/waku-org/pm/milestone/36) - [Define potential USPs](https://github.com/waku-org/pm/issues/249) - achieved: - Restructured and abbreviated the validation matrix; - Populated the matrix with information gathered in recent prospect calls; - next: Continue populating and analyse the findings; - [Define target customers](https://github.com/waku-org/pm/issues/250) - achieved: - 3 segments identified for customer interviews; - We have 2 projects from a non-core segment also interested; - [Customer Interviews](https://github.com/waku-org/pm/issues/251) - achieved: Did the first interview with a ZKid - next: - interview projects mentioned above - Invite others in pipeline for interview - [Co-design sessions](https://github.com/waku-org/pm/issues/252) - achieved: Soft commitments from 3 projects for co-design sessions; - next: Schedule the sessions for Devcon or afterwards; ### [Milestone: Acquire first 10 customers](https://github.com/waku-org/pm/milestone/37) - [5-10 Highly qualified leads](https://github.com/waku-org/pm/issues/254) - achieved: - Qualified 2 more projects. - One in the payments vertical (private state channels); - One in the zkID vertical; - next: Propose co-designing ## Other Work ### Maintenance - achieved: - [nwaku] Released v0.33.1 - [nwaku] Remove spammy log [fix: remove spammy log](https://github.com/waku-org/nwaku/pull/3091) - [nwaku] Temporarily skip flaky test [chore: improving and temporarily skipping flaky rln test](https://github.com/waku-org/nwaku/pull/3094) - [nwaku] Analyzed perf logs of nodes getting stuck. Progressed with the investigation and seem close to a resolution, asked DST for some extra information [bug: node getting stuck and missing messages](https://github.com/waku-org/nwaku/issues/2921) - [js-waku] refined API for connecting to the network [chore: make waitForRemotePeer part of the waku interface](https://github.com/waku-org/js-waku/issues/1761) - [js-waku] improved gathering of metrics for frequently occurring events - [js-waku] expose peerId and protocols from main object for better API [feat: expose peerId and protocols from WakuNode](https://github.com/waku-org/js-waku/pull/2166) - [js-waku] improve API for awaiting peers in the network by enabling it on the main object [feat: replace waitForRemotePeers() with waku.waitForPeer() method](https://github.com/waku-org/js-waku/pull/2161) - [js-waku] enable unit testing in waku/sdk and add unit tests for awaiting for peers API [feat: add mocha tests to @waku/sdk and cover waitForRemotePeer](https://github.com/waku-org/js-waku/pull/2163) - [js-waku] speed up and optimize awaiting for new peers functionality [feat: confirm metadata and protocols needed in waitForRemotePeer](https://github.com/waku-org/js-waku/pull/2160) - [js-waku] ease naming of some interfaces [chore: rename IProtocolSDK interfaces to IProtocol naming convention](https://github.com/waku-org/js-waku/pull/2159) - [chat] add clusterId and shards config for c-bindings [feat: add clusterID and shards config to c-bindings](https://github.com/waku-org/go-waku/pull/1228) - next: - [nwaku] prepare Rust app for devcon workshop - [js-waku] release critical bug fixes for Filter and LightPush - [js-waku] refine Connection Manager for better reliability and testability [feat: refactor ConnectionManager for maintainability](https://github.com/waku-org/js-waku/issues/1969) - [js-waku] update CI to use latest nwaku release and adjust interop pipeline for master [chore: upgrade nwaku to 0.33.0 and check interop tests](https://github.com/waku-org/js-waku/issues/2176) ### Bugs - achieved: - [chat] status-go: investigate and fix builds not working when bumping go-waku. Fixed in PR which keeps generated files in `vendor` folder - [fix_: don't ignore generated files in vendor/](https://github.com/status-im/status-go/pull/5914) - [chat] status-go: bandwidth counter should be reset each time it is retrieved otherwise it behaves like an accumulator - [fix_: bandwidthCounter should be reset each time it is retrieved otherwise it behaves like an accumulator](https://github.com/status-im/status-go/pull/5898)