<html><head><title>2023-09-11 Waku weekly</title><metacharSet="utf-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><metaproperty="og:title"content="2023-09-11 Waku weekly"/><metaproperty="og:description"content="2023-09-11 Waku weekly § Research § 1.1 Network requirements and task breakdown {E:1.1 Network requirements and task breakdown} achieved: Opened first raw version of Waku Network RFC for review."/><metaproperty="og:image"content="https://roadmap.logos.co/static/og-image.png"/><metaproperty="og:width"content="1200"/><metaproperty="og:height"content="675"/><linkrel="icon"href="../../static/icon.png"/><metaname="description"content="2023-09-11 Waku weekly § Research § 1.1 Network requirements and task breakdown {E:1.1 Network requirements and task breakdown} achieved: Opened first raw version of Waku Network RFC for review."/><metaname="generator"content="Logos Roadmaps"/><linkrel="preconnect"href="https://fonts.googleapis.com"/><linkrel="preconnect"href="https://fonts.gstatic.com"/><linkhref="../../index.css"rel="stylesheet"type="text/css"spa-preserve/><linkhref="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css"rel="stylesheet"type="text/css"spa-preserve/><linkhref="https://fonts.googleapis.com/css2?family=IBM Plex Mono&family=sans-serif:wght@400;700&family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&display=swap"rel="stylesheet"type="text/css"spa-preserve/><scriptsrc="../../prescript.js"type="application/javascript"spa-preserve></script><scripttype="application/javascript"spa-preserve>constfetchData=fetch(`../../static/contentIndex.json`).then(data=>data.json())</script></head><bodydata-slug="waku/updates/2023-09-11"><divid="quartz-root"class="page"><divid="quartz-body"><divclass="left sidebar"><h1class="page-title"><ahref="../..">Logos Collective Project Roadmaps</a></h1><divclass="spacer mobile-only"></div><divclass="search"><divid="search-icon"><p>Search</p><div></div><svgtabIndex="0"aria-labelledby="title desc"role="img"xmlns="http://www.w3.org/2000/svg"viewBox="0 0 19.9 19.7"><titleid="title">Search</title><descid="desc">Search</desc><gclass="search-path"fill="none"><pathstroke-linecap="square"d="M18.5 18.3l-5.4-5.4"></path><circlecx="8"cy="8"r="7"></circle></g></svg></div><divid="search-container"><divid="search-space"><inputautocomplete="off"id="search-bar"name="search"type="text"aria-label="Search for something"placeholder="Search for something"/><divid="results-container"></div></div></div></div><divclass="darkmode"><inputclass="toggle"id="darkmode-toggle"type="checkbox"tabIndex="-1"/><labelid="toggle-label-light"for="darkmode-toggle"tabIndex="-1"><svgxmlns="http://www.w3.org/2000/svg"xmlnsXlink="http://www.w3.org/1999/xlink"version="1.1"id="dayIcon"x="0px"y="0px"viewBox="0 0 35 35"style="enable-background:new 0 0 35 35;"xmlSpace="preserve"><title>Light mode</title><pathd="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5zM7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26zM17.5,6C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6zM27.5,9c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9zM6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06L6.439,8.561zM33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16zM28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-
<p><strong><ahref="https://github.com/waku-org/docs.waku.org/issues/107"class="external">Review Usage and Metrics 2023 Q3</a></strong> {E:Define network and community metrics}</p>
<ul>
<li><em>achieved</em>: published the language/SDK poll on Discord</li>
<li><em>next</em>: publish the poll on socials for more visibility and responses</li>
<p><strong><ahref="https://github.com/waku-org/docs.waku.org/issues/102"class="external">Docs general improvement/incorporating feedback (2023)</a></strong></p>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1988"class="external">feat(rest): Add /health endpoint to rest api</a></strong> {E:REST API service node}</p>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1936"class="external">feat: Autosharding API for (relay) subscriptions</a></strong> {E:1.2: Autosharding for autoscaling}</p>
<ul>
<li><em>achieved</em>: Refactored and simplified the core logic</li>
<li><em>next</em>: More PR feedback</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1889"class="external">Release Process Improvements</a></strong> {E:Automated release processes}</p>
<ul>
<li><em>achieved</em>: execute js-waku tests from nwaku workflows against PRs, nightly and release candidates</li>
<li><em>next</em>: adding Linux arm64 binaries and images</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1888"class="external">PostgreSQL</a></strong> {E:2.1: Production testing of existing protocols}, {E:PostgreSQL}</p>
<ul>
<li><em>achieved</em>:
<ul>
<li>Created a <code>jmeter</code> test plan to stress <em>Store</em> queries through REST <em>Store</em>. As a conclusion, the node with <em>Store</em><em>Postgres</em> showed worse performance than the one with <em>SQLite</em>.
<li>Added reconnection feature. If the connection with <em>Postgres</em> is lost, the <code>nwaku</code> node tries to reconnect again. <ahref="https://github.com/waku-org/nwaku/pull/1997"class="external">https://github.com/waku-org/nwaku/pull/1997</a></li>
<li><em>next</em>: Optimize database so that the <em>Store</em> requests behave better with <em>Postgres</em>.</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1883"class="external">chore: do not advertise MAs with port 0</a></strong> {bug}</p>
<ul>
<li><em>next</em>: analyze and fix issue</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1872"class="external">feat: HTTP REST API: Filter support v2</a></strong> {E:REST API service node}</p>
<li><em>achieved</em>: PR tracking is <ahref="https://github.com/waku-org/nwaku/pull/1890"class="external">https://github.com/waku-org/nwaku/pull/1890</a>
<li><em>next</em>: Last, agreed interface change to be done to complete.</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1576"class="external">chore: update resolved enr ip when using <code>dns4-domain-name</code> flag</a></strong> {enhancement}</p>
<ul>
<li><em>next</em>: analyze and fix issue</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1427"class="external">bug: <code>0.0.0.0</code> included in <code>listenAddrs</code> of identify message</a></strong> {bug}</p>
<ul>
<li><em>achieved</em>: fixed bug, updated tests according to new fixes and raised PR</li>
<li><em>next</em>: Once the above PR is merged, avoid the use of global variables, to enhance the thread-safeness ( see <ahref="https://github.com/waku-org/nwaku/pull/1865#discussion_r1282722954"class="external">https://github.com/waku-org/nwaku/pull/1865#discussion_r1282722954</a> )</li>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1076"class="external">HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs</a></strong> {E:REST API service node}</p>
<ul>
<li><em>achieved</em>: Legacy Filter - v1 - interface Rest Api support added. V2 implementation done wait for PR review, /health rest api added to check (currently) RLN readiness</li>
<li><em>next</em>: Last round of Filter v2 PR review with finalized re-worked push handler part.</li>
<li><em>blocking</em>: /health endpoint come in and Filter v2 work was down prio till.</li>
<li>investigation of <code>go-waku</code> interop test that is failing - ongoing, fixing next release</li>
<li>protocols now use lowest latency peer instead of a random peer</li>
</ul>
</li>
<li><em>next</em>: root cause <code>go-waku</code> interop test failure, release <code>next</code> tag on master merge</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/js-waku/issues/1429"class="external">Peer Exchange is supported and used by default</a></strong> {E:2023-light-protocols}</p>
<ul>
<li><em>achieved</em>: Peer Exchange is now merged included in <code>defaultBootstrap</code></li>
<li><em>next</em>: followup on browser investigation and confirm if the EPIC can be safely closed</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/js-waku/issues/52"class="external">Cover Several Environments As Part of Testing</a></strong> {test}, {E:2023-qa}</p>
<ul>
<li><em>achieved</em>: browser testing is redone and opening for review</li>
<li><em>next</em>: integrate with release process - rather quick follow up, revisit current epic</li>
<p><strong><ahref="https://github.com/waku-org/go-waku/issues/655"class="external">RLN enabled by default</a></strong> {E:3.2: Basic DoS protection in production}</p>
<ul>
<li><em>achieved</em>:
<ul>
<li>ordered validator execution, upgrade zerokit, append rln proofs when posting msgs in rest/rpc, clean up nullifier table, automatically use key from keystore if only a single credential is available, validate credential using onchain query</li>
<li>rln membership registration logic refactoring and fixing bugs. Added test for membershipFetcher. Added code for mock_blockchain and mock_client to test membershipFetcher.</li>
</ul>
</li>
<li><em>next</em>: bandwidth validation, rln isReady verif in /health endpoint, subcommand to list credentials</li>