roadmap/waku/updates/2023-10-30.html

237 lines
110 KiB
HTML
Raw Normal View History

2023-10-31 12:16:31 +00:00
<!DOCTYPE html>
2023-11-07 18:47:00 +00:00
<html><head><title>2023-10-30 Waku weekly</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="2023-10-30 Waku weekly"/><meta property="og:description" content="2023-10-30 Waku weekly § Waku Network Can Support 10K Users § Integration of static sharding in go-waku is continuing (see updates below). Testing of PostgreSQL enabled some performance improvement in the implementation that are being implemented."/><meta property="og:image" content="https://roadmap.logos.co/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../static/icon.png"/><meta name="description" content="2023-10-30 Waku weekly § Waku Network Can Support 10K Users § Integration of static sharding in go-waku is continuing (see updates below). Testing of PostgreSQL enabled some performance improvement in the implementation that are being implemented."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><link href="../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&amp;family=sans-serif:wght@400;700&amp;family=sans-serif:ital,wght@0,400;0,600;1,400;1,600&amp;display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="waku/updates/2023-10-30"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../..">Logos Collective Project Roadmaps</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="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><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,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,26z M17.5,6 C18.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,6z M27.5,9 c0.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.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-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.06 L6.439,8.561z M33.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,16z M28.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.
2023-10-31 12:16:31 +00:00
<h2 id="waku-network-can-support-10k-users"><a href="https://github.com/waku-org/pm/issues/12" class="external">Waku Network Can Support 10K Users</a><a aria-hidden="true" tabindex="-1" href="#waku-network-can-support-10k-users" class="internal"> §</a></h2>
<ul>
2023-11-01 23:18:10 +00:00
<li>Integration of static sharding in go-waku is continuing (see updates below).</li>
<li>Testing of PostgreSQL enabled some performance improvement in the implementation that are being implemented.</li>
<li>Internal instructions have been distributed to dogfood static sharding with the Waku team (<a href="https://discord.com/channels/1110799176264056863/1166125031793901589/1166125169480306708" class="external">Waku Discord private channel</a>).</li>
2023-10-31 12:16:31 +00:00
<li><em>risks</em>:
<ul>
<li>Dependency on Vac/DST to conclude ~1k nodes simulations.</li>
<li>Implementation of static sharding in Status Communities and design decisions mostly driven by go-waku developer, with minimal input from Status dev (<a href="https://github.com/status-im/status-go/pull/4161" class="external">1</a>, <a href="https://github.com/status-im/status-go/pull/4094" class="external">2</a>, <a href="https://github.com/status-im/status-go/pull/4093" class="external">3</a>). See <a href="https://github.com/status-im/status-go/issues/4057" class="external">status-go#4057</a> for remaining work. Mitigation by on-boarding Chat SDK lead on 6 Nov to drive effort.</li>
</ul>
</li>
</ul>
<h3 id="targeted-dogfooding-for-status-communities"><a href="https://github.com/waku-org/pm/issues/97" class="external">Targeted dogfooding for Status Communities</a><a aria-hidden="true" tabindex="-1" href="#targeted-dogfooding-for-status-communities" class="internal"> §</a></h3>
<ul>
<li><em>achieved</em>: unsuccesfully tried to avoid introducing a <a href="https://github.com/status-im/status-go/pull/4161" class="external">breaking change</a> in status-go. We need to decide whether to go ahead and merge that PR</li>
<li>blocker: discv5 filters out outdated ENR entries from DNS Discovery URL in shard fleet - <a href="https://github.com/waku-org/nwaku/issues/2162" class="external">https://github.com/waku-org/nwaku/issues/2162</a></li>
</ul>
<h2 id="waku-network-can-support-1-million-users---2023-11-30"><a href="https://github.com/waku-org/pm/issues/83" class="external">Waku Network can Support 1 Million Users</a> - 2023-11-30<a aria-hidden="true" tabindex="-1" href="#waku-network-can-support-1-million-users---2023-11-30" class="internal"> §</a></h2>
<ul>
<li><em>achieved</em>:
<ul>
<li>See 10k milestone update for PostgreSQL status.</li>
<li>First version of the 10k-tool by DST is ready and is being tested with simulation running a small nim-libp2p/gossipsub binary.</li>
</ul>
</li>
<li><em>risks</em>:
<ul>
<li>Dependency on Vac/DST to run 10k nodes simulations. Tracked under
<a href="https://roadmap.logos.co/tags/vac-updates" class="external"><code>vac:dst:eng-10ktool</code></a>.</li>
<li>Wakutorsis tool is being dropped, meaning new tooling needs to be developed for 10k nodes simulations. It is currently uncertain whether such tool can be developed.</li>
<li>Large scale simulations done by Vac/DST only covered nwaku relay. go-waku, status-go simulations are not planned short term (theoretical review of Status Communities messages is), nor are simulations including request-response protocols such as store and filter.</li>
</ul>
</li>
</ul>
<h3 id="postgresql-in-service-node-further-optimisations"><a href="https://github.com/waku-org/pm/issues/84" class="external">PostgreSQL in service node: Further optimisations</a><a aria-hidden="true" tabindex="-1" href="#postgresql-in-service-node-further-optimisations" class="internal"> §</a></h3>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/1888" class="external">PostgreSQL</a></strong></p>
<ul>
<li><em>achieved</em>:
<ul>
2023-11-01 23:18:10 +00:00
<li>Time processing enhancement when performing <em>SELECT</em> operations. There was an overhead caused by looping too many times over the returned rows, in order to convert the row types. By applying a “rowCallback” approach we can reduce by 30ms the time spent on the query under analysis.</li>
2023-10-31 12:16:31 +00:00
</ul>
</li>
<li><em>next</em>:
<ul>
<li>The queries used in the comparison analysis still perform much better in <em>SQLite</em> (&lt; ~5ms) than in <em>Postgres</em> (&lt; ~15ms.) Therefore we need to push the investigation further to enhance that.</li>
</ul>
</li>
</ul>
<h2 id="waku-network-gen-0---2023-12-01"><a href="https://github.com/waku-org/pm/issues/50" class="external">Waku Network Gen 0</a> - 2023-12-01<a aria-hidden="true" tabindex="-1" href="#waku-network-gen-0---2023-12-01" class="internal"> §</a></h2>
<ul>
<li><em>achieved</em>:
<ul>
<li>Further simulation done, with a continued focus on message propagation time and possible improvements.</li>
<li>Progress across all client son sharded peer management discovery</li>
<li>First PRs merged towards basic distributed store services</li>
</ul>
</li>
<li><em>risks</em>:
<ul>
<li>Usage of RLN in js-waku and dependency on a (centralized?) Web3Provider remains unclear as one needs to know the merkle tree state (on chain) to generate proofs.</li>
<li>We are progressively moving a nwaku engineer to a solution engineer role we need to backfill the role.</li>
<li>js-waku team is juggling between dev ex and gen 0 with only 2 engineers (3rd one just joined) so delivery in this client is likely to lag behind other clients.</li>
</ul>
</li>
</ul>
<h3 id="32-basic-dos-protection-in-production"><a href="https://github.com/waku-org/pm/issues/70" class="external">3.2: Basic DoS protection in production</a><a aria-hidden="true" tabindex="-1" href="#32-basic-dos-protection-in-production" class="internal"> §</a></h3>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/2143" class="external">feat: add rln to waku simulator instance</a></strong></p>
<ul>
<li><em>achieved</em>: learnt about waku-simulators inner workings and got the background required to integrate RLN to it. Added service that generates traffic to the nodes via their REST APIs. Investigated and tested different ways of approaching the RLN integration.</li>
<li><em>next</em>: get RLN to work and add Grafana dashboards with RLN data</li>
</ul>
2023-11-01 23:18:10 +00:00
<p><strong>[js-waku-examples] <a href="https://github.com/waku-org/js-waku-examples/issues/279" class="external">feat: re-create rln-js</a></strong></p>
<ul>
<li><em>achieved</em>: addressed flaws in integration, completed rewriting;</li>
</ul>
2023-10-31 12:16:31 +00:00
<p><strong>[research] <a href="https://github.com/waku-org/research/issues/44" class="external">Tuning GossipSubs D parameter in Waku</a></strong></p>
<ul>
<li><em>achieved</em>: nwaku simulations showing the impact in message propagation delay when reducing gossipsubs D value. Main goal is to reduce bandwidth consumption in exchange of worsen propagation delay.</li>
<li><em>next</em>: asses if we want to move forward changing D.</li>
</ul>
<p><strong>[research] <a href="https://github.com/waku-org/research/issues/42" class="external">Message propagation times with waku-rln</a></strong></p>
<ul>
<li><em>achieved</em>: Final simulation results with 1000 nwaku nodes with rln enabled, with the goal of measuring message propagation delays under different conditions (amount of nodes and message size).</li>
<li><em>next</em>: NA</li>
</ul>
<h3 id="14-sharded-peer-management-and-discovery"><a href="https://github.com/waku-org/pm/issues/67" class="external">1.4: Sharded peer management and discovery</a><a aria-hidden="true" tabindex="-1" href="#14-sharded-peer-management-and-discovery" class="internal"> §</a></h3>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/1941" class="external">feat: Service peer selection on specific shards</a></strong></p>
<ul>
<li><em>achieved</em>: REST APIs discovery handlers PR merged</li>
</ul>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/1940" class="external">feat: Peer management with shard as a dimension</a></strong></p>
<ul>
<li><em>achieved</em>: Waku Metadata shard subscriptions, Sharded relay peer management, draft sharded peer store pruning</li>
<li><em>next</em>: finalize sharded peer store pruning &amp; run simulations</li>
</ul>
<p><strong>[go-waku] <a href="https://github.com/waku-org/go-waku/issues/842" class="external">feat: Deprecate Named Sharding and Update Lightpush Client API</a></strong></p>
<ul>
<li><em>achieved</em>: Create PR for review for removing of Named Pubsubtopic.</li>
</ul>
<p><strong>[go-waku] <a href="https://github.com/waku-org/go-waku/issues/680" class="external">feat: Service peer selection on specific shards</a></strong></p>
<ul>
<li><em>achieved</em>: draft PR #834 opened for on-demand peer discovery</li>
<li><em>next</em>: use on-demand peer discovery for service and relay peer selection</li>
</ul>
<h3 id="23-basic-distributed-store-services"><a href="https://github.com/waku-org/pm/issues/64" class="external">2.3: Basic distributed Store services</a><a aria-hidden="true" tabindex="-1" href="#23-basic-distributed-store-services" class="internal"> §</a></h3>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/2112" class="external">feat: add new message_hash column to the archive protocol</a></strong></p>
<ul>
<li><em>achieved</em>: On SQLites schema transition (i.e. this PR) to <code>messageHash</code> feature complete PR posted (awaiting reviews), Gained insight into the connection and interplay between the store and archive components, and how they may be leveraged into making a sync protocol. Small stuff - bug fix on the jsWaku which was this PR dependent (that too was time-consuming since my first time interacting with JS code of waku), PR on vacuum on time-based retention policy, thought through the nitty gritty details of node based roles and incentives.</li>
2023-11-01 23:18:10 +00:00
<li><em>next</em>:
<ul>
<li>The sync protocol formulation totally based on the messages sync without any external factors into POV</li>
<li>Review PostgreSQL PRs by Ivan to gain more knowledge on the storage/archive feature.</li>
</ul>
</li>
2023-10-31 12:16:31 +00:00
</ul>
<h3 id="21-production-testing-of-existing-protocols"><a href="https://github.com/waku-org/pm/issues/49" class="external">2.1: Production testing of existing protocols</a><a aria-hidden="true" tabindex="-1" href="#21-production-testing-of-existing-protocols" class="internal"> §</a></h3>
<p><strong>[nwaku] <a href="https://github.com/waku-org/nwaku/issues/1888" class="external">PostgreSQL</a></strong></p>
<ul>
<li><em>achieved</em>:
<ul>
2023-11-01 23:18:10 +00:00
<li>Time processing enhancement when performing <em>SELECT</em> operations. There was an overhead caused by looping too many times over the returned rows, in order to convert the row types. By applying a “rowCallback” approach we can reduce by 30ms the time spent on the query under analysis.</li>
2023-10-31 12:16:31 +00:00
</ul>
</li>
<li><em>next</em>:
<ul>
<li>The queries used in the comparison analysis still perform much better in <em>SQLite</em> (&lt; ~5ms) than in <em>Postgres</em> (&lt; ~15ms.) Therefore we need to push the investigation further to enhance that.</li>
</ul>
</li>
</ul>
<p><strong>[waku-rust-bindings] <a href="https://github.com/waku-org/waku-rust-bindings/issues/71" class="external">feat: filterv2 support</a></strong></p>
<ul>
<li><em>achieved</em>: fix issues found during testing</li>
<li><em>next</em>: publish new version</li>
</ul>
<h2 id="quality-assurance-processes-are-in-place---2024-03-31"><a href="https://github.com/waku-org/pm/issues/73" class="external">Quality Assurance processes are in place</a> - 2024-03-31<a aria-hidden="true" tabindex="-1" href="#quality-assurance-processes-are-in-place---2024-03-31" class="internal"> §</a></h2>
<h2 id="support-many-platforms---2024-04-30"><a href="https://github.com/waku-org/pm/issues/42" class="external">Support Many Platforms</a> - 2024-04-30<a aria-hidden="true" tabindex="-1" href="#support-many-platforms---2024-04-30" class="internal"> §</a></h2>
2023-11-01 23:18:10 +00:00
<h3 id="presentation-readiness-"><a href="https://github.com/waku-org/pm/issues/95" class="external">Presentation Readiness </a><a aria-hidden="true" tabindex="-1" href="#presentation-readiness-" class="internal"> §</a></h3>
<p><strong>[js-waku] <a href="https://github.com/waku-org/js-waku/issues/1665" class="external">feat: better support for development</a></strong></p>
<ul>
<li><em>achieved</em>: experimented with <a href="https://github.com/waku-org/js-waku-examples/pull/281" class="external">Next.js app</a>;</li>
<li><em>next</em>: looking for ways to mitigate errors in console or catch others;</li>
</ul>
2023-10-31 12:16:31 +00:00
<h3 id="ship-rln-as-part-of-non-native-sdks"><a href="https://github.com/waku-org/pm/issues/88" class="external">Ship RLN as part of non-native SDKs</a><a aria-hidden="true" tabindex="-1" href="#ship-rln-as-part-of-non-native-sdks" class="internal"> §</a></h3>
<p><strong>[go-waku] <a href="https://github.com/waku-org/go-waku/issues/788" class="external">refactor: add user_data to c-bindings</a></strong></p>
<ul>
<li><em>achieved</em>: fixed issues found during tests with waku-rust-bindings</li>
</ul>
<h3 id="rest-api-service-node"><a href="https://github.com/waku-org/pm/issues/82" class="external">REST API service node</a><a aria-hidden="true" tabindex="-1" href="#rest-api-service-node" class="internal"> §</a></h3>
<p><strong>[go-waku] <a href="https://github.com/waku-org/go-waku/issues/814" class="external">feat: admin REST API</a></strong></p>
<ul>
<li><em>achieved</em>: Implemented Admin REST API and updated the spec.</li>
2023-11-01 23:18:10 +00:00
</ul>
<h2 id="ecosystem-development">Ecosystem Development<a aria-hidden="true" tabindex="-1" href="#ecosystem-development" class="internal"> §</a></h2>
<ul>
<li>
<p><em>achieved</em>:</p>
<ul>
<li>new tictactoe example with @waku/react</li>
<li>Progress on Devconnect planning</li>
<li>Organising dev ex calls</li>
<li>Shipping resources for hackathon</li>
<li>Reviewed Graphcast proposal for using relay</li>
</ul>
</li>
<li>
<p><em>next</em>:</p>
<ul>
<li>ipfs/waku example for file transfer</li>
<li>Waku tutorial videos</li>
<li>@waku/react hacker pain-point feedback report</li>
<li>Metrics dashboard</li>
<li>ETHLisbon</li>
</ul>
</li>
2023-10-31 12:16:31 +00:00
</ul></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:1,&quot;scale&quot;:1.1,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
2023-11-01 23:18:10 +00:00
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{&quot;drag&quot;:true,&quot;zoom&quot;:true,&quot;depth&quot;:-1,&quot;scale&quot;:0.9,&quot;repelForce&quot;:0.5,&quot;centerForce&quot;:0.3,&quot;linkDistance&quot;:30,&quot;fontSize&quot;:0.6,&quot;opacityScale&quot;:1,&quot;showTags&quot;:true,&quot;removeTags&quot;:[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc"><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#2023-10-30-waku-weekly" data-for="2023-10-30-waku-weekly">2023-10-30 Waku weekly</a></li><li class="depth-1"><a href="#waku-network-can-support-10k-users" data-for="waku-network-can-support-10k-users">Waku Network Can Support 10K Users</a></li><li class="depth-2"><a href="#targeted-dogfooding-for-status-communities" data-for="targeted-dogfooding-for-status-communities">Targeted dogfooding for Status Communities</a></li><li class="depth-1"><a href="#waku-network-can-support-1-million-users---2023-11-30" data-for="waku-network-can-support-1-million-users---2023-11-30">Waku Network can Support 1 Million Users - 2023-11-30</a></li><li class="depth-2"><a href="#postgresql-in-service-node-further-optimisations" data-for="postgresql-in-service-node-further-optimisations">PostgreSQL in service node: Further optimisations</a></li><li class="depth-1"><a href="#waku-network-gen-0---2023-12-01" data-for="waku-network-gen-0---2023-12-01">Waku Network Gen 0 - 2023-12-01</a></li><li class="depth-2"><a href="#32-basic-dos-protection-in-production" data-for="32-basic-dos-protection-in-production">3.2: Basic DoS protection in production</a></li><li class="depth-2"><a href="#14-sharded-peer-management-and-discovery" data-for="14-sharded-peer-management-and-discovery">1.4: Sharded peer management and discovery</a></li><li class="depth-2"><a href="#23-basic-distributed-store-services" data-for="23-basic-distributed-store-services">2.3: Basic distributed Store services</a></li><li class="depth-2"><a href="#21-production-testing-of-existing-protocols" data-for="21-production-testing-of-existing-protocols">2.1: Production testing of existing protocols</a></li><li class="depth-1"><a href="#quality-assurance-processes-are-in-place---2024-03-31" data-for="quality-assurance-processes-are-in-place---2024-03-31">Quality Assurance processes are in place - 2024-03-31</a></li><li class="depth-1"><a href="#support-many-platforms---2024-04-30" data-for="support-many-platforms---2024-04-30">Support Many Platforms - 2024-04-30</a></li><li class="depth-2"><a href="#presentation-readiness-" data-for="presentation-readiness-">Presentation Readiness </a></li><li class="depth-2"><a href="#ship-rln-as-part-of-non-native-sdks" data-for="ship-rln-as-part-of-non-native-sdks">Ship RLN as part of non-native SDKs</a></li><li class="depth-2"><a href="#rest-api-service-node" data-for="rest-api-service-node">REST API service node</a></li><li class="depth-1"><a href="#ecosystem-development" data-for="ecosystem-development">Ecosystem Development</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div></div></div><footer class><hr/><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.1.0</a>, © 2023</p><ul><li><a href="https://github.com/logos-co/roadmap">GitHub</a></li><li><a href="https://discord.com/invite/logos-state">Discord Community</a></li></ul></footer></div></body><script type="application/javascript">// quartz/components/scripts/quartz/components/scripts/callout.inline.ts
2023-10-31 12:16:31 +00:00
function toggleCallout() {
const outerBlock = this.parentElement;
outerBlock.classList.toggle(`is-collapsed`);
const collapsed = outerBlock.classList.contains(`is-collapsed`);
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
outerBlock.style.maxHeight = height + `px`;
let current = outerBlock;
let parent = outerBlock.parentElement;
while (parent) {
if (!parent.classList.contains(`callout`)) {
return;
}
const collapsed2 = parent.classList.contains(`is-collapsed`);
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
parent.style.maxHeight = height2 + `px`;
current = parent;
parent = parent.parentElement;
}
}
function setupCallout() {
const collapsible = document.getElementsByClassName(
`callout is-collapsible`
);
for (const div of collapsible) {
const title = div.firstElementChild;
if (title) {
title.removeEventListener(`click`, toggleCallout);
title.addEventListener(`click`, toggleCallout);
const collapsed = div.classList.contains(`is-collapsed`);
const height = collapsed ? title.scrollHeight : div.scrollHeight;
div.style.maxHeight = height + `px`;
}
}
}
document.addEventListener(`nav`, setupCallout);
window.addEventListener(`resize`, setupCallout);
</script><script type="module">
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
mermaid.initialize({
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
});
document.addEventListener('nav', async () => {
await mermaid.run({
querySelector: '.mermaid'
})
});
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../postscript.js" type="module"></script></html>