--- 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