only show pages of section in sidebar

This commit is contained in:
fryorcraken 2025-09-29 16:34:46 +10:00
parent cd64e332a7
commit 3c807e917c
No known key found for this signature in database
GPG Key ID: A82ED75A8DFC50A4
46 changed files with 78 additions and 71 deletions

View File

@ -1,6 +1,7 @@
---
title: Debug Your Waku DApp and WebSocket
hide_table_of_contents: true
displayed_sidebar: build
---
This guide provides detailed steps to enable and use debug logs to troubleshoot your Waku DApp, whether in a NodeJS or browser environment and check your WebSocket connections in [nwaku](/guides/nwaku/run-node).

View File

@ -2,6 +2,7 @@
title: JavaScript SDK FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
displayed_sidebar: build
---
import { AccordionItem } from '@site/src/components/mdx'

View File

@ -1,6 +1,7 @@
---
title: JavaScript Waku SDK
hide_table_of_contents: true
displayed_sidebar: build
---
:::caution

View File

@ -1,6 +1,7 @@
---
title: Send and Receive Messages Using Light Push and Filter
hide_table_of_contents: true
displayed_sidebar: build
---
This guide provides detailed steps to start using the `@waku/sdk` package by setting up a [Light Node](/learn/glossary#light-node) to send messages using the [Light Push protocol](/learn/concepts/protocols#light-push), and receive messages using the [Filter protocol](/learn/concepts/protocols#filter). Have a look at the [installation guide](/guides/js-waku/#installation) for steps on adding `@waku/sdk` to your project.

View File

@ -1,6 +1,7 @@
---
title: Manage Your Filter Subscriptions
hide_table_of_contents: true
displayed_sidebar: build
---
This guide provides detailed steps to manage [Filter](/learn/concepts/protocols#filter) subscriptions and handle node disconnections in your application. Have a look at the [Send and Receive Messages Using Light Push and Filter](/guides/js-waku/light-send-receive) guide for using the `Light Push` and `Filter` protocols.

View File

@ -1,6 +1,7 @@
---
title: Send and Receive Messages in a Reliable Channel
hide_table_of_contents: true
displayed_sidebar: build
---
Learn how to send and receive messages with a convenient SDK that provide various reliable functionalities out-of-the-box.

View File

@ -1,6 +1,7 @@
---
title: "Run @waku/sdk in a NodeJS Application"
hide_table_of_contents: true
displayed_sidebar: build
---
While the `@waku/sdk` package is primarily designed for browser environments, you can use it in a NodeJS application. However, there are certain limitations and considerations to keep in mind. This guide provides a comprehensive overview of using `@waku/sdk` in NodeJS.

View File

@ -1,6 +1,7 @@
---
title: Retrieve Messages Using Store Protocol
hide_table_of_contents: true
displayed_sidebar: build
---
This guide provides detailed steps to create a Light Node for retrieving and filtering historical messages using the [Store protocol](/learn/concepts/protocols#store).

View File

@ -1,6 +1,7 @@
---
title: "Scaffold DApps Using @waku/create-app"
hide_table_of_contents: true
displayed_sidebar: build
---
This guide provides detailed steps to bootstrap your next `@waku/sdk` project from [various example templates](https://github.com/waku-org/js-waku-examples/tree/master/examples) using the [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) package.

View File

@ -1,6 +1,7 @@
---
title: "Build React DApps Using @waku/react"
hide_table_of_contents: true
displayed_sidebar: build
---
:::caution

View File

@ -2,6 +2,7 @@
title: Introduction to Waku
hide_table_of_contents: true
slug: /
displayed_sidebar: null
---
Waku is a family of robust, censorship-resistant, peer-to-peer communication protocols that enable privacy-focused messaging for Web3 applications, allowing you to integrate decentralised communication features into your dApp without compromising security or privacy.

View File

@ -1,6 +1,7 @@
---
title: Content Topics
hide_table_of_contents: true
displayed_sidebar: learn
---
`Content Topics` are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages ([Relay](/learn/concepts/protocols#relay) or [Filter](/learn/concepts/protocols#filter)) and retrieving historical messages ([Store](/learn/concepts/protocols#store)) that meet specific filtering criteria. Have a look at the [WAKU2-TOPICS](https://rfc.vac.dev/waku/informational/23/topics#content-topics) specification to learn more.

View File

@ -1,6 +1,7 @@
---
title: Discv5
hide_table_of_contents: true
displayed_sidebar: learn
---
`Discv5` is a decentralised and efficient peer discovery mechanism for the Waku Network. It uses a [Distributed Hash Table (DHT)](https://en.wikipedia.org/wiki/Distributed_hash_table) for storing `ENR` records, providing resistance to censorship. `Discv5` offers a global view of participating nodes, enabling random sampling for load distribution. It uses bootstrap nodes as an entry point to the network, providing randomised sets of nodes for mesh expansion. Have a look at the [Discv5](https://rfc.vac.dev/waku/standards/core/33/discv5) specification to learn more.

View File

@ -1,6 +1,7 @@
---
title: DNS Discovery
hide_table_of_contents: true
displayed_sidebar: learn
---
Built upon the foundation of [EIP-1459: Node Discovery via DNS](https://eips.ethereum.org/EIPS/eip-1459), DNS Discovery allows the retrieval of an `ENR` tree from the `TXT` field of a domain name. This innovative approach enables the storage of essential node connection details, including IP, port, and multiaddr.

View File

@ -1,6 +1,7 @@
---
title: Network Domains
hide_table_of_contents: true
displayed_sidebar: learn
---
Waku is a unified and cohesive entity that offers a rich ecosystem with three distinct network interaction domains. These domains serve specialised purposes and contribute to the robust functionality of Waku, forming its foundation.

View File

@ -1,6 +1,7 @@
---
title: Peer Discovery
hide_table_of_contents: true
displayed_sidebar: learn
---
When initialising a Waku node, it must connect with other peers to enable message sending, receiving, and retrieval. To achieve this, a discovery mechanism is employed to locate other peers in the network. This process is known as bootstrapping.

View File

@ -1,6 +1,7 @@
---
title: Peer Exchange
hide_table_of_contents: true
displayed_sidebar: learn
---
The primary objective of this protocol is to facilitate peer connectivity for resource-limited devices without relying on `Discv5`. The peer exchange protocol enables light nodes to request peers from other nodes within the network.

View File

@ -1,6 +1,7 @@
---
title: Protocols
hide_table_of_contents: true
displayed_sidebar: learn
---
Waku takes a modular approach, providing a range of protocols that enable applications to control the trade-offs involved in the [Anonymity Trilemma](https://eprint.iacr.org/2017/954.pdf). This flexibility empowers applications to make informed choices regarding the desired balance between anonymity, scalability, and latency. Here are the main protocols provided by Waku:

View File

@ -1,6 +1,7 @@
---
title: Static Peers
hide_table_of_contents: true
displayed_sidebar: learn
---
Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can either use static peers operated by Status or [run a node](/#run-a-waku-node).

View File

@ -1,6 +1,7 @@
---
title: Transports
hide_table_of_contents: true
displayed_sidebar: learn
---
Transports help move data packets across a network by establishing connections between peers. They define the rules and protocols to ensure efficient network transmission, routing, and data delivery.

View File

@ -2,6 +2,7 @@
title: Waku FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
displayed_sidebar: learn
---
import { AccordionItem } from '@site/src/components/mdx'

View File

@ -1,6 +1,7 @@
---
title: Glossary
hide_table_of_contents: true
displayed_sidebar: learn
---
# Waku Docs Glossary

View File

@ -1,6 +1,7 @@
---
title: Research
hide_table_of_contents: true
displayed_sidebar: learn
---
The following features are currently experimental and under research and initial implementation:

View File

@ -1,6 +1,7 @@
---
title: Security Features
hide_table_of_contents: true
displayed_sidebar: learn
---
Waku's protocol layers offer different services and security considerations, shaping the overall security of Waku. We document the security models in the [RFCs of the protocols](https://rfc.vac.dev/), aiming to provide transparent and open-source references. This empowers Waku users to understand each protocol's security guarantees and limitations.

View File

@ -1,6 +1,7 @@
---
title: The Waku Network
hide_table_of_contents: true
displayed_sidebar: learn
---
The Waku Network is a shared p2p messaging network that is open-access, useful for generalized messaging, privacy-preserving, scalable and accessible even to resource-restricted devices. Some of the most prominent features include:

View File

@ -1,6 +1,7 @@
---
title: Comparing Waku and libp2p
hide_table_of_contents: true
displayed_sidebar: learn
---
Since Waku is built on top of libp2p, they share a lot of concepts and terminologies between them. However, there are key differences between them that are worth noting.

View File

@ -1,6 +1,7 @@
---
title: PostgreSQL
description: Document that describes why Nim-Waku started to use Postgres and shows some benchmark and comparison results.
displayed_sidebar: research
---
## Introduction

View File

@ -1,5 +1,6 @@
---
title: Performance Benchmarks and Test Reports
displayed_sidebar: research
---

View File

@ -2,6 +2,7 @@
title: Research
hide_table_of_contents: true
sidebar_position: 1
displayed_sidebar: research
---
**Research and Studies**: Protocol simulations and theoretical analysis to support the design of Waku protocols. The protocol definitions are on the [Waku RFCs](https://rfc.vac.dev/waku) website.

View File

@ -1,5 +1,6 @@
---
title: Capped Bandwidth in Waku
displayed_sidebar: research
---
This post explains i) why The Waku Network requires a capped bandwidth per shard and ii) how to achieve it by rate limiting with RLN v2.

View File

@ -1,5 +1,6 @@
---
title: Incentivisation
displayed_sidebar: research
---
Waku is a family of decentralised communication protocols. The Waku Network (TWN) consists of independent nodes running Waku protocols. TWN needs incentivisation (shortened to i13n) to ensure proper node behaviour.

View File

@ -1,5 +1,6 @@
---
title: Maximum Bandwidth for Global Adoption
displayed_sidebar: research
---
**TLDR**: This issue aims to **set the maximum bandwidth** in `x Mbps` that each waku shard should consume so that the **maximum amount of people can run a full waku node**. It is up to https://github.com/waku-org/research/issues/22 to specify how this maximum will be enforced.

View File

@ -1,5 +1,6 @@
---
title: Message Propagation Times With Waku-RLN
displayed_sidebar: research
---
**TLDR**: We present the results of 1000 `nwaku` nodes running `rln` using different message sizes, in a real network with bandwidth limitations and network delays. The goal is to study the message propagation delay distribution, and how it's affected by i) rln and ii) message size in a real environment. We observe that for messages of `10kB` the average end-to-end propagation delay is `508 ms`. We can also observe that the message propagation delays are severely affected when increasing the message size, which indicates that it is not a good idea to use waku for messages of eg. `500kB`. See simulation parameters.

View File

@ -1,5 +1,6 @@
---
title: RLN Key Benchmarks
displayed_sidebar: research
---
## Introduction

View File

@ -1,6 +1,7 @@
---
title: Build Nwaku from Source
hide_table_of_contents: true
displayed_sidebar: runNode
---
This guide provides detailed steps to build a `nwaku` node from the source code to access the latest development version or a specific commit or release of `nwaku`. For your convenience, you may want to [download a pre-compiled binary](https://github.com/waku-org/nwaku/tags) instead.

View File

@ -1,6 +1,7 @@
---
title: Node Configuration Methods
hide_table_of_contents: true
displayed_sidebar: runNode
---
Waku nodes can be configured using a combination of the following methods:

View File

@ -1,6 +1,7 @@
---
title: Node Configuration Options
hide_table_of_contents: true
displayed_sidebar: runNode
---
Here are the available node configuration options, along with their default values and descriptions:

View File

@ -1,6 +1,7 @@
---
title: Configure Peer Discovery
hide_table_of_contents: true
displayed_sidebar: runNode
---
This guide provides detailed steps to configure a `nwaku` node to discover and connect with peers in the Waku Network.

View File

@ -1,6 +1,7 @@
---
title: Node Configuration Examples
hide_table_of_contents: true
displayed_sidebar: runNode
---
This guide provides detailed steps to configure a `nwaku` node for different use cases.

View File

@ -2,6 +2,7 @@
title: Nwaku FAQ
hide_table_of_contents: true
sidebar_label: Frequently Asked Questions
displayed_sidebar: runNode
---
import { AccordionItem } from '@site/src/components/mdx'

View File

@ -1,6 +1,7 @@
---
title: Find Your Node Address
hide_table_of_contents: true
displayed_sidebar: runNode
---
:::info

View File

@ -1,6 +1,7 @@
---
title: Run a Nwaku Node
hide_table_of_contents: true
displayed_sidebar: runNode
---
Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the [protocols](/learn/concepts/protocols) they want to support based on their needs, motivations, and available resources.

View File

@ -1,6 +1,7 @@
---
title: Run Nwaku with Docker Compose
hide_table_of_contents: true
displayed_sidebar: runNode
---
[nwaku-compose](https://github.com/waku-org/nwaku-compose) is a ready-to-use Docker Compose setup that configures the following automatically:

View File

@ -1,6 +1,7 @@
---
title: Run Nwaku in a Docker Container
hide_table_of_contents: true
displayed_sidebar: runNode
---
This guide provides detailed steps to build and run a `nwaku` node in a Docker container. If you prefer a pre-configured setup with a monitoring dashboard, see the [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) guide.

View File

@ -2,6 +2,7 @@
title: Upgrade Instructions
hide_table_of_contents: true
sidebar_label: Upgrade Instructions
displayed_sidebar: runNode
---
import { AccordionItem } from '@site/src/components/mdx'

View File

@ -2,15 +2,10 @@
/** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */
const sidebars = {
docs: [
{
type: "link",
label: "Home",
href: "/",
},
build: [
{
type: "category",
label: "Build",
label: "JavaScript SDK",
collapsed: false,
link: {
type: "doc",
@ -40,6 +35,8 @@ const sidebars = {
},
],
},
],
runNode: [
{
type: "category",
label: "Run a Nwaku Node",
@ -66,84 +63,49 @@ const sidebars = {
},
],
},
],
learn: [
"learn/waku-network",
{
type: "category",
label: "Learn",
label: "Concepts",
collapsed: false,
items: [
"learn/waku-network",
"learn/concepts/protocols",
"learn/concepts/content-topics",
"learn/concepts/network-domains",
"learn/concepts/transports",
{
type: "category",
label: "Concepts",
collapsed: false,
label: "Peer Discovery",
link: {
type: "doc",
id: "learn/concepts/peer-discovery",
},
items: [
"learn/concepts/protocols",
"learn/concepts/content-topics",
"learn/concepts/network-domains",
"learn/concepts/transports",
{
type: "category",
label: "Peer Discovery",
link: {
type: "doc",
id: "learn/concepts/peer-discovery",
},
items: [
"learn/concepts/static-peers",
"learn/concepts/dns-discovery",
"learn/concepts/discv5",
"learn/concepts/peer-exchange",
],
},
"learn/concepts/static-peers",
"learn/concepts/dns-discovery",
"learn/concepts/discv5",
"learn/concepts/peer-exchange",
],
},
"learn/security-features",
"learn/research",
"learn/waku-vs-libp2p",
"learn/glossary",
"learn/faq",
],
},
"learn/security-features",
"learn/research",
"learn/waku-vs-libp2p",
"learn/glossary",
"learn/faq",
],
research: [
{
type: "category",
label: "Research",
collapsed: false,
items: [
{
type: "autogenerated",
dirName: "research",
},
],
},
{
type: "category",
label: "Resources",
collapsed: false,
items: [
"guides/getting-started",
{
type: "html",
value:
'<a href="https://discord.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Discord<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/awesome-waku/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Awesome Waku<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://ideas.waku.org" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Waku Idea Board<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
{
type: "html",
value:
'<a href="https://github.com/waku-org/bounties/" target="_blank" rel="noopener noreferrer" class="menu__link external-link">Post-Hackathon Bounties<svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M11.1918 4H3.42848V2.85715H13.1428V12.5714H11.9999V4.80813L3.83254 12.9755L3.02441 12.1674L11.1918 4Z" fill="white"/></svg>',
},
],
type: "autogenerated",
dirName: "research",
},
],
guides: [
"guides/getting-started",
],
};
module.exports = sidebars;