roadmap/content/waku/updates/2024-01-29.md

147 lines
12 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-01-29 Waku Weekly
tags:
- waku-updates
date: 2024-01-29
draft:
---
## Waku Update
- 2024 Milestones have been defined, to be structured and prioritized this week, subject to change pending approval from stakeholders.
- Remaining open TWN Gen 0 Milestone items to be priorirized in 2024 Milestones and Epics.
## [Waku Network Gen 0](https://github.com/waku-org/pm/issues/50)
**Open Epics**
- [Autosharding for autoscaling](https://github.com/waku-org/pm/issues/65) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 75%
- [Node bandwidth management mechanism](https://github.com/waku-org/pm/issues/66) | [nwaku](https://github.com/waku-org/nwaku) | *not critical* | 0%
- [Sharded peer management and discovery](https://github.com/waku-org/pm/issues/67) | [js-waku](https://github.com/waku-org/js-waku) | *critical* | 87%
- [Launch and dogfood integrated public Waku Network MVP](https://github.com/waku-org/pm/issues/68) | [nwaku](https://github.com/waku-org/nwaku) | *critical* | 0%
- [Production testing of existing protocols](https://github.com/waku-org/pm/issues/49) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 40%
- [Sharded capability discovery for light protocols](https://github.com/waku-org/pm/issues/63) | [js-waku](https://github.com/waku-org/js-waku) & [go-waku](https://github.com/waku-org/go-waku) | *critical* | 0%
- [Basic DoS protection in production](https://github.com/waku-org/pm/issues/70) | [go-waku](https://github.com/waku-org/go-waku) & [research](https://github.com/waku-org/research) | *critical* | 28%
- [Basic front end for node operator](https://github.com/waku-org/pm/issues/100) | [js-waku](https://github.com/waku-org/js-waku) & [nwaku](https://github.com/waku-org/nwaku) | *critical* | 83%
- Blocked : **[Add implementation of PRESTO middleware.](https://github.com/status-im/nim-presto/pull/73 "https://github.com/status-im/nim-presto/pull/73")**
## January 29 Update
*Waku's development is divided among 6 teams: research, nwaku, go-waku, js-waku, chat-sdk, and ecosystem-development.*
### [Research](https://github.com/waku-org/research/)
**[rln-proof-witness](https://github.com/alrevuelta/rln-proof-witness "https://github.com/alrevuelta/rln-proof-witness")**
**[Create RLN proof without having the whole tree](https://github.com/waku-org/research/issues/79 "https://github.com/waku-org/research/issues/79")**
- *achieved*:
- Create proof of concept where light clients can generate their own rln proofs without having to sync the whole tree.
- Dog food above PoC and get feedback
- Start with rln in gossipsub paper
**[Waku Research - Post Gen 0 Milestones and Epics](https://github.com/waku-org/pm/issues/101 "https://github.com/waku-org/pm/issues/101")**
- _achieved:_ created outline doc for new Specs/RFC process: [https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d](https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d "https://www.notion.so/Waku-Specs-Process-Improvements-3bca80fe10804aeaa7a184143bdca07d"), first designs for new Store protocol, refined effort estimates
- _next:_ implement new Specs process, create milestone/epic related issues, work on draft Store protocol improvement
**[TWN Connectivity](https://github.com/waku-org/research/issues/74 "https://github.com/waku-org/research/issues/74")**
- _achieved_: read Meridian paper and wrote how it could be used in TWN, reading on Discv5 topic advert design problems
- _next_: discuss with VAC topic experts?
### [nwaku](https://github.com/waku-org/nwaku/)
**[feat: Enforce service specific rate limits](https://github.com/waku-org/nwaku/issues/2032 "https://github.com/waku-org/nwaku/issues/2032")**
- *achieved*: implemented a simple lightpush and store request rate limit with configurable defaults
- *next*: prior PR need to finish some more tests
**[bug: access-control-allow-origin should be set to localhost](https://github.com/waku-org/nwaku/issues/2223 "https://github.com/waku-org/nwaku/issues/2223")**
- *blocked*: Eugen done a presto PR utilizing new chronos middleware design, added comments due we need some change on it prior able to use it.
**[feat: sharded peer management Round 2](https://github.com/waku-org/nwaku/pull/2332 "https://github.com/waku-org/nwaku/pull/2332")**
- _achieved_: added sharded peer management config flag, feedback
- *next*: review & merge
**[chore: improved error handling when config uses cluster-id and pubsub topics](https://github.com/waku-org/nwaku/pull/2368 "https://github.com/waku-org/nwaku/pull/2368")**
- _achieved_: improved error handling for cluster and shard config
- _next_: review & merge
**[bug: restart loop of current master](https://github.com/waku-org/nwaku/issues/2362 "https://github.com/waku-org/nwaku/issues/2362")**
- _achieved_: got feedback for the PR, implemented fix and merged
**[bug: RLN validator is only added for statically configured pubsub topics](https://github.com/waku-org/nwaku/issues/2365 "https://github.com/waku-org/nwaku/issues/2365")**
- _achieved_: analyzed issue, implemented a solution, tested and raised PR
- _next_: get feedback on the PR, implement it and merge
**[feat: REST API - large messages does not seem to be rejected by relay auto api](https://github.com/waku-org/nwaku/issues/2284 "https://github.com/waku-org/nwaku/issues/2284")**
- _achieved_: investigated how to approach the issue using generalized validators, implemented a solution, tested and raised PR
- _next_: get feedback on the PR, implement it and merge
### [go-waku](https://github.com/waku-org/go-waku/)
- _achieved:_
- document tips and how to debug message loss for status team **[Debugging](https://www.notion.so/Debugging-f1c516d37be741188530ac707d5b8f2e?pvs=4)**
- fix updating lastProcessedBlock even if no RLN membership event is present **[fix: update lastProcessedBlock even if no RLN membership event is present](https://github.com/waku-org/go-waku/pull/1013 "https://github.com/waku-org/go-waku/pull/1013")**
- fix issue in connectionStatus reporting **[fix: minor issues in connectionstatus report](https://github.com/waku-org/go-waku/pull/1015 "https://github.com/waku-org/go-waku/pull/1015")**
- include a basic lightClient example **[chore: example update](https://github.com/waku-org/go-waku/pull/1012 "https://github.com/waku-org/go-waku/pull/1012")**
- improve logging **[chore: set log level for all loggers based on logger passed](https://github.com/waku-org/go-waku/pull/1011 "https://github.com/waku-org/go-waku/pull/1011") , [https://github.com/waku-org/nwaku/pull/2366](https://github.com/waku-org/nwaku/pull/2366 "https://github.com/waku-org/nwaku/pull/2366")**
- support for multiple peer selection for filter **[feat: support multiple peer selection for filter client](https://github.com/waku-org/go-waku/pull/1005 "https://github.com/waku-org/go-waku/pull/1005")**
- _next:_
- investigate message loss in status-mobile ci
- investigate if gossipsub scoring can be monitored and reported to app as unhealthy [https://github.com/waku-org/go-waku/issues/1017](https://github.com/waku-org/go-waku/issues/1017 "https://github.com/waku-org/go-waku/issues/1017")
- dogfooding status desktop and mobile and investigate and support status team for any other message reliability issues
- _achieved:_
- fix: add support to aarch64-linux-android in go-zerokit-rln-arm: **[fix: add support to aarch64-linux-android](https://github.com/vacp2p/zerokit/pull/228 "https://github.com/vacp2p/zerokit/pull/228")**
- fix: handle community shard unassignment: **[fix: handle community shard unassignment and update](https://github.com/status-im/status-go/pull/4627 "https://github.com/status-im/status-go/pull/4627")**
- _next:_
- work on status/waku integration items
### [js-waku](https://github.com/waku-org/js-waku/)
- *achieved*:
- simplified rln-js example;
- released part of improvements for **[User Pays Own RLN Membership](https://github.com/waku-org/pm/issues/109)**
- done with investigating test
- *next*:
- new cred registration example (based on prev examples)
- finish improvements for rln
- bugs found in rln
- improve tests (issue tbd)
- *achieved*:
- decouple sharding params out of core classes **[Decouple sharding logic from internal classes to SDK](https://github.com/waku-org/js-waku/issues/1808 "https://github.com/waku-org/js-waku/issues/1808")**
- *next*:
- allow creating subscriptions with just content topics **[allow user to pass content topic to createSubscription](https://github.com/waku-org/js-waku/issues/1764 "https://github.com/waku-org/js-waku/issues/1764")**
- _achieved_:
- lightpush & filter use multiple peers instead of one **[feat: lightpush & filter send requests to multiple peers](https://github.com/waku-org/js-waku/pull/1779 "https://github.com/waku-org/js-waku/pull/1779")**
- local storage as a discovery layer (in progress)
- fixing interop tests (in progress) **[fix(tests): append `p2p` with the multiaddrs from ENR](https://github.com/waku-org/js-waku/pull/1817 "https://github.com/waku-org/js-waku/pull/1817"), [chore(tests): update max content topics on lightpush from 30 to 100](https://github.com/waku-org/js-waku/pull/1818)**
- _next_:
- merge local storage discovery ([https://github.com/waku-org/js-waku/pull/1811](https://github.com/waku-org/js-waku/pull/1811 "https://github.com/waku-org/js-waku/pull/1811")),
- moving `message-hash` into `core` ([https://github.com/waku-org/js-waku/pull/1810](https://github.com/waku-org/js-waku/pull/1810 "https://github.com/waku-org/js-waku/pull/1810")),
### Ecosystem-development
#### Community/Partners
- _achieved:_ Waku Community Space https://twitter.com/Waku_org/status/1750927368644919722
- _next:_ Logos x HOPR space, 30 days of web3 presentation
**[[BOUNTY] Build dApp of Your Choice Using Waku (Decentralized Communication) and Vue.js](https://github.com/waku-org/bounties/issues/14 "https://github.com/waku-org/bounties/issues/14")**
- _achieved:_ final reviews, approved
- Post by community member bounty hunter: https://x.com/wolz_codelife/status/1751955673603002459?s=20
**[waku-org/bounties](https://github.com/waku-org/bounties/issues "https://github.com/waku-org/bounties/issues")**
- _achieved:_ collected and reviewed a few options for Bounty platforms
- _next:_ create dummy bounties to see how things work
#### Docs
**[Integrate benchmark and research into website](https://github.com/waku-org/docs.waku.org/issues/155 "https://github.com/waku-org/docs.waku.org/issues/155")**
- *achieved*: review of linked PR [https://github.com/waku-org/docs.waku.org/pull/157](https://github.com/waku-org/docs.waku.org/pull/157 "https://github.com/waku-org/docs.waku.org/pull/157")
- *next*: follow up on integrating spell check into the research and nwaku repos
**[[Epic] Encryption documentation](https://github.com/waku-org/docs.waku.org/issues/125 "https://github.com/waku-org/docs.waku.org/issues/125")**
- *next*: (still ongoing) initial noise encryption docs
**[Create a FAQ and troubleshooting guide](https://github.com/waku-org/docs.waku.org/issues/152 "https://github.com/waku-org/docs.waku.org/issues/152")**
- *next*: starting the technical FAQ drafting
#### DevRel
- *achieved*:
- builder spotlight video with MrFox team
- 2 tutorial videos reviewed by comms
- monthly community twitter space: https://twitter.com/Waku_org/status/1750927368644919722
- *next*:
- complete all the tutorial videos
- workshop presentations for ethlatam
- more builder spotlight videos
- calls with node operators
### [Status Integration](https://github.com/orgs/waku-org/projects/5/views/1)
#### chat-sdk
- *achieved*: started the conversation with Hanno on permission-less communities
- *next*: agree on an approach on permission-less communities.
- *achieved*: research and draft hash based message query to store node spec
- *next*: discuss on the iteration of hash based message query