roadmap/content/waku/updates/2024-10-14.md

140 lines
9.2 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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. [](https://github.com/waku-org/nwaku/pull/3102) [](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
### Enhancements
- 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)