--- title: 2023-10-23 Waku weekly tags: - waku-updates date: 2023-10-23 draft: --- # 2023-10-23 Waku weekly ## [Waku Network Can Support 10K Users](https://github.com/waku-org/pm/issues/12) - _achieved_: - Vac/DST team has done further runs with up to 600 nodes in the network as part of wrapping up a [blog post report](https://github.com/vacp2p/vac.dev/pull/123). - Staging fleet for Status with static sharding and PostgreSQL deployed and being tested by go-waku team using local changes in Status Desktop. - _next_: - Dogfooding of Status Desktop with Status staging fleet. Will aim to create a small internal Waku community. - Continue integration of static sharding in status-go. - _risks_: - Dependency on Vac/DST to conclude ~1k nodes simulations. - PostgreSQL implementation has not yet been proven more performant than SQLite. Further improvements and testing in progress. - Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev ([1](https://github.com/status-im/status-go/pull/4161), [2](https://github.com/status-im/status-go/pull/4094), [3](https://github.com/status-im/status-go/pull/4093)). See [status-go#4057](https://github.com/status-im/status-go/issues/4057) for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort. ### [Targeted dogfooding for Status Communities](https://github.com/waku-org/pm/issues/97) - _achieved_: hardcoded bootnodes ENRs in addition to DNS Discovery URLs as a way to overcome nameserver issues. Use a static shard instead of the default pubsub topic. Update tool to crawl and discover nodes via discv5. - _next_: fix if necessary strange behavior with discv5 when ENRs in DNS discovery URL do not contain shards. Document steps for dogfooding. ## [Waku Network can Support 1 Million Users](https://github.com/waku-org/pm/issues/83) - 2023-11-30 - _achieved_: See 10k milestone update for PostgreSQL status. - _risks_: - Dependency on Vac/DST to run 10k nodes simulations. Tracked under [`vac:dst:eng-10ktool`](https://roadmap.logos.co/tags/vac-updates). - Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed. - Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter. ## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50) - 2023-12-01 - _achieved_: - Critical path work for autosharding done in nwaku, in progress on go-waku - Parameters for the Waku Network Gen 0 have been captured in an [RFC](https://rfc.vac.dev/spec/64/) and use as a basis for [simulations](https://github.com/waku-org/research/issues/23) and [theoretical analysis](https://github.com/waku-org/research/issues/31), removing uncertainty on this milestone around message rates, performance and expected bandwidth usage. - _risks_: - Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs. - We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role. - js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one joining at end of Oct) so delivery in this client is likely to lag behind other clients. ### [3.2: Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) **[js-waku] [Task: Manage RLN membership(s) and keys](https://github.com/waku-org/js-waku/issues/1600)** - _achieved_: completed flow up items and main stream of work; **[js-waku-examples] [feat: re-create rln-js](https://github.com/waku-org/js-waku-examples/issues/279)** - _achieved_: experimented with different frameworks, almost complete rewriting the example; **[research] [Message propagation times with waku-rln](https://github.com/waku-org/research/issues/42)** - _achieved_: Ran simulations with 1000 nwaku nodes with rln enabled, with the goal of measuring message propagation delays under different conditions. - _next_: Some issues with the current simulations, need to investigate shadow tool to simulate CPU "time passing". Some results are not valid. ### [2.1: Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) **[js-waku] [chore: improve logging when fails to connect to a node](https://github.com/waku-org/js-waku/issues/1408)** - _achieved_: setup a Logger for more verbose and modular error readbility **[js-waku] [Peer Management: Connection and Disconnection](https://github.com/waku-org/js-waku/issues/914)** - _achieved_: The Connection and Disconnection Peer Management epic has been closed **[waku-rust-bindings] [feat: filterv2 support](https://github.com/waku-org/waku-rust-bindings/issues/71)** - _achieved_: added support to waku_filter_subscribe - _next_: write unit tests for filterv2 and publish new version ## [Quality Assurance processes are in place](https://github.com/waku-org/pm/issues/73) - 2024-03-31 This work is tracked with [vac:dst:software-testingwaku](https://roadmap.logos.co/vac/dst/#software-testingwaku) ## [Support Many Platforms](https://github.com/waku-org/pm/issues/42) - 2024-04-30 ### [Ship RLN as part of non-native SDKs](https://github.com/waku-org/pm/issues/88) **[go-waku] [refactor: add user_data to c-bindings](https://github.com/waku-org/go-waku/issues/788)** - _achieved_: exposed filterv2 subscription details (useful for rust bindings) ### [REST API service node](https://github.com/waku-org/pm/issues/82) **[nwaku] [chore: reorganize rest-api types](https://github.com/waku-org/nwaku/issues/2121)** - _achieved_: Enhancements on Rest request error handling. - _next_: Finalize api spec and doc after PR review. Work in progress: rest api type reorganization. RFC changes to enhance light-push failure response. - _blocking_: Fixing found issues during release. **[go-waku] [feat: lightpush REST API](https://github.com/waku-org/go-waku/issues/813)** - _achieved_: Add lightpush rest api and test. Rest Filter v2 in progress. ## Other Work ### Enhancements **[nwaku] [feat: allowing users to choose port 0 for dynamically allocated ports](https://github.com/waku-org/nwaku/issues/2042)** - _achieved_: fixed failed tests, added a test case to cover the changes, small refactor and raised PR - _next_: get PR reviewed and implement feedback **[nwaku] [feat: provide a way to define advertised addresses](https://github.com/waku-org/nwaku/issues/1797)** - _achieved_: merged PR with initial fix. Implemented and raised PR for the `--ext-multiaddr-only` CLI flag - _next_: get PR reviewed, implement feedback and merge ### Bugs **[nwaku] [bug: WSS enabled node stops accepting websocket connections after some time](https://github.com/waku-org/nwaku/issues/2140)** - _achieved_: discovered and debuged WSS issue, discovered and debugged REST API causing SIGSEGV, oversaw release v0.21.0 - _next_: help with release v0.21.1, investigate existing bandwidth management work ## Ecosystem Development - Docs - _achieved_: - got familiar with what The Graph is doing with Waku, @waku/sdk update in @waku/react - Preparation to Polygon Enugu - Peer management disconnection docs - _next_: - Work on metrics dashboard - Record some explainer videos - Docs redesign - Outline for encryption docs