2023-08-14 Waku weekly
Epics
Waku Network Can Support 10K Users {E:2023-10k-users}
All software has been delivered. Pending items are:
- Running stress testing on PostgreSQL to confirm performance gain 1894
- Setting up a staging fleet for Status to try static sharding
- Running simulations for Store protocol: commitment and probably move this to 1mil epic
Eco Dev
Aug 2023 {E:2023-eco-growth}
- achieved: web3conf talk, swags, 2 side events, twitter promotions, requested for marketing collateral to commshub
- next: complete waku metrics, coordinate events with Lou, ethsafari planning, muchangmai planning
- blocker: was blocked on infra for hosting nextjs app for waku metrics but migrating to SSR and hosting on vercel
Docs
- next: document notes/recommendations for NodeJS, begin docs on
js-waku
encryption
nwaku
Release Process Improvements {E:2023-qa}
- achieved: minor CI fixes and improvements
- next: document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images
PostgreSQL {E:2023-10k-users}
- achieved: Learned that the insertion rate is constrained by the
relay
protocol. i.e. the maximum insert rate is limited byrelay
so I couldn’t push the “insert” operation to a limit from a Postgres point of view. For example, if 25 clients publish messages concurrently, and each client publishes 300 msgs, all the messages are correctly stored. If repeating the same operation but with 50 clients, then many messages are lost because the relay protocol doesn’t process all of them. - next: Carry on with stress testing. Analyze the performance differences between Postgres and SQLite regarding the read operations.
Autosharding v1 {E:2023-1mil-users}
- achieved: many feedback/update cycles for FILTER, LIGHTPUSH, STORE & RFC
- next: updating ENR for live subscriptions
HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs {E:2023-many-platforms}
- achieved: Legacy Filter - v1 - interface Rest Api support added.
- next: Extend Rest Api interface for new v2 filter. Get v2 filter service supported from node. Add more tests.
js-waku
Maintenance {E:2023-qa}
- achieved: upgrade libp2p & chainsafe deps to libp2p 0.46.3 while removing deprecated libp2p standalone interface packages (new breaking change libp2p w/ other deps), add tsdoc for referenced types, setting up/fixing prettier/eslint conflict
Developer Experience (2023) {E:2023-eco-growth}
- achieved: non blocking pipeline step (1411)
Peer Exchange is supported and used by default {E:2023-light-protocols}
- achieved: close the “fallback mechanism for peer rejections”, refactor peer-exchange compliance test
- next: peer-exchange to be included with default discovery, action peer-exchange browser feedback
go-waku
Maintenance {E:2023-qa}
- achieved: improved keep alive logic for identifying if machine is waking up; added vacuum feature to sqlite and postgresql; made migrations optional; refactored db and migration code, extracted code to generate node key to its own separate subcommand
C-Bindings Improvement: Callbacks and Duplications {E:2023-many-platforms}
- achieved: PR for updating the RFC to use callbacks, and refactored the encoding functions
Improve Test Coverage {E:2023-qa}
- achieved: Fixed issues reported by the data race detector tool.
- next: identify areas where test coverage needs improvement.
RLN: Post-Testnet3 Improvements {E:2023-rln}
- achieved: exposed merkle tree configuration, removed embedded resources from go-zerokit-rln, fixed nwaku / go-waku rlnKeystore compatibility, added merkle tree persistence and modified zerokit to print to stderr any error obtained while executing functions via FFI.
- next: interop with nwaku
Introduce Peer Management {E:2023-peer-mgmt}
- achieved: add service slots to peer manager.
- next: implement relay connectivity loop, integrate gossipsub scoring for peer disconnections