2023-08-22 09:09:21 +00:00
<!DOCTYPE html>
2023-10-02 22:07:33 +00:00
< html > < head > < title > 2023-08-14 Waku weekly< / title > < meta charSet = "utf-8" / > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" / > < meta property = "og:title" content = "2023-08-14 Waku weekly" / > < meta property = "og:description" content = "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 https://github." / > < 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-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 https://github." / > < meta name = "generator" content = "Logos Roadmaps" / > < 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&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 / > < 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-08-14" > < 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 . 789 , 0 . 439 , 1 . 06l2 , 2 C28 . 711 , 30 . 832 , 29 . 086 , 31 , 29 . 5
2023-08-22 09:09:21 +00:00
< hr / >
< h2 id = "epics" > Epics< a aria-hidden = "true" tabindex = "-1" href = "#epics" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/pm/issues/12" class = "external" > Waku Network Can Support 10K Users< / a > < / strong > {E:2023-10k-users}< / p >
< p > All software has been delivered. Pending items are:< / p >
< ul >
2023-09-25 21:23:05 +00:00
< li > Running stress testing on PostgreSQL to confirm performance gain < a href = "https://github.com/waku-org/nwaku/issues/1894" class = "external" > https://github.com/waku-org/nwaku/issues/1894< / a > < / li >
2023-08-22 09:09:21 +00:00
< li > Setting up a staging fleet for Status to try static sharding< / li >
2023-09-25 21:23:05 +00:00
< li > Running simulations for Store protocol: < a href = "https://github.com/vacp2p/research/issues/191#issuecomment-1672542165" class = "external" > Will confirm with Vac/DST on dates/commitment< / a > and probably move this to < a href = "https://github.com/waku-org/pm/issues/31" class = "external" > 1mil epic< / a > < / li >
2023-08-22 09:09:21 +00:00
< / ul >
< hr / >
< h2 id = "eco-dev" > Eco Dev< a aria-hidden = "true" tabindex = "-1" href = "#eco-dev" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/internal-waku-outreach/issues/103" class = "external" > Aug 2023< / a > < / strong > {E:2023-eco-growth}< / p >
< ul >
< li > < em > achieved< / em > : web3conf talk, swags, 2 side events, twitter promotions, requested for marketing collateral to commshub< / li >
< li > < em > next< / em > : complete waku metrics, coordinate events with Lou, ethsafari planning, muchangmai planning< / li >
< li > < em > blocker< / em > : was blocked on infra for hosting nextjs app for waku metrics but migrating to SSR and hosting on vercel< / li >
< / ul >
< hr / >
< h2 id = "docs" > Docs< a aria-hidden = "true" tabindex = "-1" href = "#docs" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/docs.waku.org/issues/104" class = "external" > Advanced docs for js-waku< / a > < / strong > < / p >
< ul >
< li > < em > next< / em > : document notes/recommendations for NodeJS, begin docs on < code > js-waku< / code > encryption< / li >
< / ul >
< hr / >
< h2 id = "nwaku" > nwaku< a aria-hidden = "true" tabindex = "-1" href = "#nwaku" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/nwaku/issues/1889" class = "external" > Release Process Improvements< / a > < / strong > {E:2023-qa}< / p >
< ul >
< li > < em > achieved< / em > : minor CI fixes and improvements< / li >
< li > < em > next< / em > : document how to run PR built images in waku-simulator, adding Linux arm64 binaries and images< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/nwaku/issues/1888" class = "external" > PostgreSQL< / a > < / strong > {E:2023-10k-users}< / p >
< ul >
< li > < em > achieved< / em > : Learned that the insertion rate is constrained by the < code > relay< / code > protocol. i.e. the maximum insert rate is limited by < code > relay< / code > so I couldn’ t push the “insert” operation to a limit from a < em > Postgres< / em > 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 < em > relay< / em > protocol doesn’ t process all of them.< / li >
< li > < em > next< / em > : Carry on with stress testing. Analyze the performance differences between < em > Postgres< / em > and < em > SQLite< / em > regarding the < em > read< / em > operations.< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/nwaku/issues/1846" class = "external" > Autosharding v1< / a > < / strong > {E:2023-1mil-users}< / p >
< ul >
< li > < em > achieved< / em > : many feedback/update cycles for FILTER, LIGHTPUSH, STORE & RFC< / li >
< li > < em > next< / em > : updating ENR for live subscriptions< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/nwaku/issues/1076" class = "external" > HTTP REST API: Store, Filter, Lightpush, Admin and Private APIs< / a > < / strong > {E:2023-many-platforms}< / p >
< ul >
< li > < em > achieved< / em > : Legacy Filter - v1 - interface Rest Api support added.< / li >
< li > < em > next< / em > : Extend Rest Api interface for new v2 filter. Get v2 filter service supported from node. Add more tests.< / li >
< / ul >
< hr / >
< h2 id = "js-waku" > js-waku< a aria-hidden = "true" tabindex = "-1" href = "#js-waku" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/js-waku/issues/1455" class = "external" > Maintenance< / a > < / strong > {E:2023-qa}< / p >
< ul >
< li > 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< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/js-waku/issues/1453" class = "external" > Developer Experience (2023)< / a > < / strong > {E:2023-eco-growth}< / p >
< ul >
2023-09-25 21:23:05 +00:00
< li > < em > achieved< / em > : non blocking pipeline step (< a href = "https://github.com/waku-org/js-waku/issues/1411" class = "external" > https://github.com/waku-org/js-waku/issues/1411< / a > )< / li >
2023-08-22 09:09:21 +00:00
< / ul >
< p > < strong > < a href = "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 > : close the “fallback mechanism for peer rejections”, refactor peer-exchange compliance test< / li >
< li > < em > next< / em > : peer-exchange to be included with default discovery, action peer-exchange browser feedback< / li >
< / ul >
< hr / >
< h2 id = "go-waku" > go-waku< a aria-hidden = "true" tabindex = "-1" href = "#go-waku" class = "internal" > §< / a > < / h2 >
< p > < strong > < a href = "https://github.com/waku-org/go-waku/issues/634" class = "external" > Maintenance< / a > < / strong > {E:2023-qa}< / p >
< ul >
< li > < em > achieved< / em > : 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< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/go-waku/issues/629" class = "external" > C-Bindings Improvement: Callbacks and Duplications< / a > < / strong > {E:2023-many-platforms}< / p >
< ul >
< li > < em > achieved< / em > : PR for updating the RFC to use callbacks, and refactored the encoding functions< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/go-waku/issues/620" class = "external" > Improve Test Coverage< / a > < / strong > {E:2023-qa}< / p >
< ul >
< li > < em > achieved< / em > : Fixed issues reported by the data race detector tool.< / li >
< li > < em > next< / em > : identify areas where test coverage needs improvement.< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/go-waku/issues/605" class = "external" > RLN: Post-Testnet3 Improvements< / a > < / strong > {E:2023-rln}< / p >
< ul >
< li > < em > achieved< / em > : 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.< / li >
< li > < em > next< / em > : interop with nwaku< / li >
< / ul >
< p > < strong > < a href = "https://github.com/waku-org/go-waku/issues/594" class = "external" > Introduce Peer Management< / a > < / strong > {E:2023-peer-mgmt}< / p >
< ul >
< li > < em > achieved< / em > : add service slots to peer manager.< / li >
< li > < em > next< / em > : implement relay connectivity loop, integrate gossipsub scoring for peer disconnections< / li >
< / ul >
2023-09-25 21:23:05 +00:00
< hr / > < / article > < / div > < div class = "right sidebar" > < div class = "graph" > < h3 > Graph View< / h3 > < div class = "graph-outer" > < div id = "graph-container" data-cfg = "{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}" > < / 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
2023-08-22 09:09:21 +00:00
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-09-25 21:23:05 +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 = "{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}" > < / 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-08-14-waku-weekly" data-for = "2023-08-14-waku-weekly" > 2023-08-14 Waku weekly< / a > < / li > < li class = "depth-1" > < a href = "#epics" data-for = "epics" > Epics< / a > < / li > < li class = "depth-1" > < a href = "#eco-dev" data-for = "eco-dev" > Eco Dev< / a > < / li > < li class = "depth-1" > < a href = "#docs" data-for = "docs" > Docs< / a > < / li > < li class = "depth-1" > < a href = "#nwaku" data-for = "nwaku" > nwaku< / a > < / li > < li class = "depth-1" > < a href = "#js-waku" data-for = "js-waku" > js-waku< / a > < / li > < li class = "depth-1" > < a href = "#go-waku" data-for = "go-waku" > go-waku< / a > < / li > < / ul > < / div > < / div > < div class = "backlinks" > < h3 > Backlinks< / h3 > < ul class = "overflow" > < li > No backlinks found< / li > < / ul > < / div > < / div > < / div > < footer > < hr / > < p > Created by Logos 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" > / / q u a r t z / c o m p o n e n t s / s c r i p t s / q u a r t z / c o m p o n e n t s / s c r i p t s / c a l l o u t . i n l i n e . t s
2023-08-22 09:09:21 +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'
2023-09-25 21:23:05 +00:00
mermaid.initialize({
2023-08-22 09:09:21 +00:00
startOnLoad: false,
securityLevel: 'loose',
theme: darkMode ? 'dark' : 'default'
});
document.addEventListener('nav', async () => {
await mermaid.run({
querySelector: '.mermaid'
})
});
2023-09-18 20:20:27 +00:00
< / 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 >