roadmap/content/waku/updates/2023-10-23.md

139 lines
7.4 KiB
Markdown
Raw Normal View History

2023-10-25 18:20:23 +00:00
---
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
2023-11-08 01:01:52 +00:00
- _next_: help with release v0.21.1, investigate existing bandwidth management work
2023-10-25 18:20:23 +00:00
## 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