This update covers the two week span between February 5th -19th.
research
- achieved:
- Created a C wrapper API for negentropy and moved it as a submodule into nwaku https://github.com/waku-org/negentropy/pull/2, https://github.com/waku-org/nwaku/pull/2448
- Rerun nwaku latency measurements with latest nwaku release + new plots: https://github.com/waku-org/research/pull/86
- Draft for “practical use of rln in gossipsub” paper ready, peer review ongoing.
- further work in PoC incentivization https://github.com/waku-org/nwaku/pull/2419
- onboarding and local ethereum chain tools research
- Opened up the discussions of waku as a sovereign chain: https://github.com/waku-org/research/issues/84
- Waku latency simulations in a real environment: https://github.com/waku-org/research/pull/85
- Work on practical usage of rln in gossipsub paper: https://github.com/waku-org/research/pull/82
- Benchmarked rln in different platforms: https://github.com/waku-org/nwaku/pull/2410
- implemented the first version of a codec for incentivization PoC: https://github.com/waku-org/nwaku/issues/1961
- research post tidying, negentropy C++ bindings first draft, https://github.com/waku-org/research/issues/80 https://github.com/waku-org/nwaku/pull/2403
- refined new Store protocol design based on community input https://github.com/waku-org/research/issues/81
- next:
- improve the C API and integrate into nwaku and test the integration
- continue modifications in zk-kit library to allow onchain merkle proofs: https://github.com/privacy-scaling-explorations/zk-kit/pull/162
- PoC implementation and research papers - continued
- deploy local ethereum chain for waku-simulator https://github.com/waku-org/waku-simulator/issues/17
- Resume work on onchain proofs, upstream bug fixed
- Analyze data + report on latency simulations
- gather feedback, continue PoC implementation; plan working on the academic conference submission (Waku poster)
- negentropy C++ bindings continues
- more reviewers and comments, gain consensus, start plan for PoC implementation https://github.com/waku-org/research/issues/81
nwaku
- achieved:
- Nwaku Sync protocol bindings improvements https://github.com/waku-org/nwaku/issues/2426
- Nwaku Store v3 first draft
- found fixes for keystore generation error and for running nwaku-compose without keystore. Validated fixes, and merged both PRs. Closed issue https://github.com/waku-org/nwaku-compose/issues/32
- designed and started refactor https://github.com/waku-org/nwaku/issues/2441
- implemented fix, opened PR, improved the solution after feedback and merged https://github.com/waku-org/nwaku/issues/2406
- implemented feedback and merged https://github.com/waku-org/nwaku/issues/2214
- apply PoC to handle disk through partitions management https://github.com/waku-org/nwaku/issues/1885
- share knowledge on waku-nodejs-bindings https://github.com/waku-org/nwaku/issues/2420
- accept base64 payloads; make private key optional by generating a random one if not defined; simplified error handling. https://github.com/waku-org/nwaku/issues/2420
- publish and subscribe to waku messages using nwaku, fixed event callback setup. https://github.com/waku-org/waku-rust-bindings/pull/87
- Helped to define the C-bindings milestone https://github.com/waku-org/pm/issues/121
- simpler ctx mgmt. Param now receiving void* instead of void** https://github.com/waku-org/nwaku/pull/2398
- overview the partition approach https://github.com/waku-org/nwaku/issues/1885
- defined part of bindings milestone with emphases in go (for status-go) and rust https://github.com/waku-org/pm/issues/121
- started the integration of nwaku with waku-rust-bindings, compiling and doing FFI nwaku succesfully. https://github.com/waku-org/pm/issues/121
- added support to yamux https://github.com/waku-org/nwaku/issues/2331
- finished implementation, debugged and fixed failed tests, opened PR https://github.com/waku-org/nwaku/issues/2214
- implemented solution, opened PR, implemented feedback and merged https://github.com/waku-org/nwaku/issues/2349
- investigated, tried to reproduce. Found out that it got unintentionally fixed by a recent PR, closed issue https://github.com/waku-org/nwaku/issues/2371
- getting introduced to our C-bindings codebase https://github.com/waku-org/pm/issues/121
- PR is under review - covers LightPush and Store request rate limiting next: fix nim-chronos’ TokenBucket wrong replenis. https://github.com/waku-org/nwaku/issues/2032
- RC release done, test has ran, changelog done https://github.com/waku-org/nwaku/issues/2402
- next:
- continue with the refactor https://github.com/waku-org/nwaku/issues/2441
- archive update to fullfill Store v3 requirements https://github.com/waku-org/nwaku/issues/2425
- manual tests to ensure it works properly https://github.com/waku-org/nwaku/issues/1885
- expose additional bindings functions and add function to free alloc memory https://github.com/waku-org/waku-rust-bindings/pull/87
- Continue defining C-binding epics https://github.com/waku-org/pm/issues/121
- try the “partition table” implementation approach plus “partition truncate”. https://github.com/waku-org/nwaku/issues/1885
- expose existing nwaku’s bindings functions and test rust-bindings. Investigate packaging nwaku for mobile. https://github.com/waku-org/waku-rust-bindings/pull/87
- last mile of implementation (demo in terms uses Presto un-released feature) on refactor Waku RestService to utilize middleware approach and solve CORS headers issue. https://github.com/waku-org/nwaku/issues/2223
- blocker:
- Postgres doesn’t provide a native mechanism to limit the maximum stored size. If the partition+truncate approach doesn’t work properly, we will dismiss the “size” retention policy and just keep the “capacity” and “time” for Postgres. https://github.com/waku-org/nwaku/issues/1885
js-waku
- achieved:
- implemented and merged
@waku/local-discovery
to store healthy connected peers in the local state, and use these peers to connect with when an application restarts https://github.com/waku-org/js-waku/issues/1463 - replaced all use of nwaku’s deprecated JSON RPC API with REST API https://github.com/waku-org/js-waku/issues/1826
- added SDK functions for creating a node and subscription given a peer id and content topic https://github.com/waku-org/js-waku/issues/1764
- made improvements based on feedback and merged decoupling of sharding logic out of core protocol logic https://github.com/waku-org/js-waku/issues/1808
- finished SDK function for creating a subscription (with or without a node) using a content topic and peer id next: implement fixes/improvements from review https://github.com/waku-org/js-waku/issues/1764
- implemented and merged
- next:
- cycling stored peers with new peers (discover new peers with peer-exchange) to increase decentralisation
- orient protocol implementations to be strictly based on the RFCs https://github.com/waku-org/pm/issues/114#issuecomment-1934535353
- move
WakuNode
class to SDK with above functions as private class functions
go-waku
- achieved:
- executed a version of bindings with updated dependencies in go-waku for a couple of days to confirm memory leak is gone. https://github.com/waku-org/waku-rust-bindings/issues/86
- arrive at approach and implement topic connection health reporting based on sharding https://github.com/waku-org/go-waku/issues/1021
- initial version of client side for storev3 https://github.com/waku-org/go-waku/pull/1028
- next:
- release a new version of rust bindings
chat-sdk
- achieved:
- draft the comparison doc about build client with REST API
- attempting to merge: https://github.com/status-im/status-go/pull/4532
- creating test code for the selection of store nodes in communities: https://github.com/status-im/status-go/issues/4357
- *next:
- continue work on the sending messages with cli
- plan next permission-less community tasks
eco-dev
- achieved:
- events page
- presentation for ETHLATAM
- working on metrics dashboard https://github.com/waku-org/metrics.waku.org/issues/14
- deployed the research section of the docs https://github.com/waku-org/docs.waku.org/issues/155
- added the new filter configurations per nwaku 0.25.0 release https://github.com/waku-org/docs.waku.org/pull/158
- Secret Network space
- minor tweak to nwaku metrics https://github.com/waku-org/nwaku/pull/2430
- updated instructions, added ENV file configuration, recommended docker as the default way to run nodes https://github.com/waku-org/docs.waku.org/issues/154
- some repo org for waku metrics and restarted supabase https://github.com/waku-org/metrics.waku.org/issues/6
- workshop and prize descriptions handed over to ethlatam
- composing cheatsheets for RLN membership and how to run a node
- networkmonitor now supports RLN and thus can be deployed for The Waku Network https://github.com/waku-org/nwaku/pull/2401
- tested and provided a minor fix for py-waku, create new issues for cbindings based on this https://github.com/waku-org/py-waku/pull/1
- next:
- complete metrics dashboard improvements, start drafting protocols comparison blog and send presentations to comms for review
- finish up the FAQ section for the docs platform https://github.com/waku-org/docs.waku.org/issues/152
- deploy the new pages on the docs https://github.com/waku-org/docs.waku.org/pull/166
- review PR https://github.com/waku-org/research/pull/83 to add cspell to the research repo
- some ui improvements in the metrics dashboard
- community call agenda for february
- ethlatam presentation
- blog post : unbiased comparison of web3 communication protocols
- deploy new version of NM, add new metrics to internal and public dashboards
waku-status-integ
- achieved:
- investigate contact ack loss issue identified in mobile-CI after filter-manager PR https://github.com/status-im/status-mobile/pull/18769
- next:
- support status integration in case message loss or Waku related issues