<html><head><title>2023-10-16 Waku weekly</title><metacharSet="utf-8"/><metaname="viewport"content="width=device-width, initial-scale=1.0"/><metaproperty="og:title"content="2023-10-16 Waku weekly"/><metaproperty="og:description"content="nwaku § chore: Reorganize RestApi specs for live documentation {E:REST API service node} achieved: Http RestAPI interface is in parity with json-rpc with even more features supported on it."/><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="nwaku § chore: Reorganize RestApi specs for live documentation {E:REST API service node} achieved: Http RestAPI interface is in parity with json-rpc with even more features supported on it."/><metaname="generator"content="Quartz"/><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-10-16"><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-0.439-1.061L28.56
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/2120"class="external">chore: Reorganize RestApi specs for live documentation</a></strong> {E:REST API service node}</p>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/2042"class="external">feat: allowing users to choose port 0 for dynamically allocated ports</a></strong> {enhancement}</p>
<li><em>achieved</em>: had over code review sessions and got feedback. Implemented improvements, attempted new approaches, fixed bugs. Most of the solution is already implemented and working.</li>
<li><em>next</em>: fix failed tests, add test cases and raise PR</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1961"class="external">feat: experimental incentivize store protocol</a></strong> {E:Basic service incentivization}</p>
<ul>
<li><em>achieved</em>: wrote the <ahref="https://github.com/waku-org/research/pull/33"class="external">first draft of incentivization outline</a></li>
<li><em>next</em>: discuss open question, continue structuring the document</li>
</ul>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1914"class="external">setting up static sharding fleet for Status</a></strong> {E:Static sharding}</p>
<ul>
<li><em>achieved</em>: setup a separate shard for community points of contact, and another one for 1:1/group messages</li>
<li><em>next</em>: investigate/fix discv5 not working when static sharding is being used.</li>
<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>
<li>Testing environment prepared in <code>metal-01.he-eu-hel1.wakudev.misc.statusim.net</code>. There are two databases (Postgres and SQLite) with 5 million of random messages.</li>
<li>Enhanced Grafana dashboard so that we can compare timings performance throughout an histogram.</li>
<p><strong><ahref="https://github.com/waku-org/nwaku/issues/1797"class="external">feat: provide a way to define advertised addresses</a></strong> {enhancement}</p>
<li>Separate PR to avoid global variables: <ahref="https://github.com/waku-org/nwaku/pull/2118"class="external">https://github.com/waku-org/nwaku/pull/2118</a></li>
<li>Started to document the tasks tackled so far: <ahref="https://www.notion.so/NWaku-cbindings-FFI-7a9ae6240cfc4caba7c7ff0bf3429a70"class="external">https://www.notion.so/NWaku-cbindings-FFI-7a9ae6240cfc4caba7c7ff0bf3429a70</a></li>
<li><em>next</em>: Start creating a separate <em>NodeJs</em> and <em>Python</em> repositories, where we will create nodejs-waku and py-waku, respectively.</li>
<p><strong><ahref="https://github.com/waku-org/js-waku/issues/914"class="external">Peer Management: Connection and Disconnection</a></strong> {E:2.1: Production testing of existing protocols}</p>
<li><em>achieved</em>: reached a conclusion tackling deliberate vs accidental disconnections, PRs opened to handle Filter subscriptions on disconnection/reconnections, iterative fixes on addressing multiple dial attempts for same peer, fixes around keep alive pings</li>
<li><em>next</em>: getting reviews & merging these PRs which should enable us to close this epic 🥳</li>
<p><strong><ahref="https://github.com/waku-org/go-waku/issues/680"class="external">feat: Service peer selection on specific shards</a></strong> {E:1.4: Sharded peer management and discovery}</p>