reorg sidebar

This commit is contained in:
LordGhostX 2023-05-21 01:32:38 +01:00
parent e09bc136a2
commit 9bb060f511
No known key found for this signature in database
GPG Key ID: 520CC5DC4F94FCC7
9 changed files with 28 additions and 24 deletions

View File

@ -1,5 +1,5 @@
---
title: Waku Clients
title: Clients
---
Waku has been implemented in multiple programming languages to address various use cases. The Waku team builds and maintains each client, ensuring that updates are provided automatically.

View File

@ -10,9 +10,9 @@ After establishing a connection, the node must actively seek out additional peer
- Reserve peers for backup: It is essential to have a surplus of peers available as reserves. These reserves are backups when the current peers become overloaded or experience unexpected disconnections.
- Peers with specific Waku capabilities: The node seeks out peers with specific Waku capabilities, such as [Store](/overview/concepts/protocols#waku-store), [Light Push](/overview/concepts/protocols#waku-light-push), or [Filter](/overview/concepts/protocols#waku-filter). This allows for targeted interactions and enhanced functionality based on the desired capabilities.
## Predefined Bootstrap Nodes
## Predefined Nodes
Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can opt to utilize either the [pre-deployed nodes by Status](https://github.com/waku-org/js-waku/blob/master/packages/core/src/lib/predefined_bootstrap_nodes.ts#L45) or [set up their nodes](https://github.com/waku-org/nwaku/tree/master/docs/operators) per their preference.
Waku applications have the flexibility to embed bootstrap node addresses directly into their codebase. Developers can opt to utilize either the [predefined nodes by Status](https://github.com/waku-org/js-waku/blob/master/packages/core/src/lib/predefined_bootstrap_nodes.ts#L45) or [set up their nodes](https://github.com/waku-org/nwaku/tree/master/docs/operators) per their preference.
#### Pros

View File

@ -1,18 +1,18 @@
---
title: Protocols in Waku
title: Protocols
---
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:
### [Waku Relay](https://rfc.vac.dev/spec/11/)
## [Waku Relay](https://rfc.vac.dev/spec/11/)
`Waku Relay` is a privacy-focused peer-to-peer messaging protocol that extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). It utilizes a Pub/Sub architecture to enable secure communication channels, encryption, and protection against censorship. With a strong emphasis on privacy, `Waku Relay` ensures scalability, allowing many peers and messages to coexist within the network.
### [Waku Filter](https://rfc.vac.dev/spec/12/)
## [Waku Filter](https://rfc.vac.dev/spec/12/)
`Waku Filter` is a protocol enabling peers to subscribe to specific messages from other peers. It is designed for devices with limited bandwidth, serving as a lighter alternative to [Waku Relay](#waku-relay). Unlike relay nodes, `Waku Filter` allows light nodes to subscribe to service nodes and receive only the messages they are interested in. This optimizes bandwidth consumption but may involve privacy compromises. Nonetheless, `Waku Filter` efficiently delivers desired messages within bandwidth constraints.
### [Waku Store](https://rfc.vac.dev/spec/13/)
## [Waku Store](https://rfc.vac.dev/spec/13/)
`Waku Store` is a protocol that allows the querying of messages received through the relay protocol and stored by nodes. It supports retrieving historical messages with pagination. Unlike [Waku Relay](#waku-relay), which doesn't save messages for offline users, `Waku Store` peers retain relayed messages for later retrieval.
@ -20,7 +20,7 @@ Waku takes a modular approach, providing a range of protocols that enable applic
Data availability is not guaranteed with `Waku Store`. [Waku Relay](#waku-relay) or [Waku Filter](#waku-filter) are preferred for online usage, while `Waku Store` is suitable for retrieving messages after reconnecting to the network, like when a dApp starts.
:::
### [Waku Light Push](https://rfc.vac.dev/spec/19/)
## [Waku Light Push](https://rfc.vac.dev/spec/19/)
`Waku Light Push` is a [Request/Reply](/overview/concepts/network-domains#requestreply-domain) protocol for Waku's light nodes with limited bandwidth and short connection windows. It enables clients to receive a confirmation when sending messages, indicating that at least one node has received them. However, using `Waku Light Push` compromises privacy as the remote peer becomes aware of the message originator.
@ -28,16 +28,14 @@ Data availability is not guaranteed with `Waku Store`. [Waku Relay](#waku-relay)
Please note that `Waku Light Push` confirms receipt by the remote peer but doesn't guarantee network-wide propagation.
:::
## Additional Protocols
### [Waku Message](https://rfc.vac.dev/spec/14)
## [Waku Message](https://rfc.vac.dev/spec/14)
`Waku Message` specifies the message structure used in the Waku network. It defines metadata fields, such as content topics and timestamps, that other Waku protocols can use.
### [Waku Payload](https://rfc.vac.dev/spec/26)
## [Waku Payload](https://rfc.vac.dev/spec/26)
`Waku Payload` provides guidelines for implementing secure and private communication in the Waku network. It covers encryption, decryption, and signing methods for message payloads, focusing on confidentiality, authenticity, integrity, and unlinkability.
### [Waku RLN Relay](https://rfc.vac.dev/spec/17/)
## [Waku RLN Relay](https://rfc.vac.dev/spec/17/)
The `Waku RLN Relay` protocol extends the [Waku Relay](#waku-relay) protocol by adding spam protection using [Rate Limiting Nullifiers (RLN)](https://rfc.vac.dev/spec/32/). It enforces a global messaging rate for all peers to prevent spam in the Waku network. Spammers face financial penalties and removal from the system. This protocol provides efficient and economic spam prevention suitable for resource-constrained environments.

View File

@ -1,5 +1,5 @@
---
title: Transports in Waku
title: Transports
---
Transports help move data packets across a network by establishing connections between members. They define the rules and protocols to ensure efficient network transmission, routing, and data delivery.

View File

@ -1,10 +1,10 @@
---
title: What is Waku?
title: Introduction
slug: /
---
:::caution
While Waku comes with risks and limitations, as it is still in development and preparing for extensive adoption, it is already demonstrating its capabilities by [powering various applications](/powered-by-waku). Join our [Discord Community](https://discord.gg/Nrac59MfSX) to stay updated on our progress.
While Waku comes with risks and limitations, as it is still in development and preparing for extensive adoption, it is already demonstrating its capabilities by [powering various applications](/powered-by-waku). Join our [community](/community) to stay updated on our progress.
:::
Waku is a family of peer-to-peer protocols that offer secure and private communication in a decentralized environment, making it suitable for various decentralized applications (dApps). It is designed to operate in resource-limited environments but can also be used as a node or desktop application.

View File

@ -1,5 +1,5 @@
---
title: Waku Use Cases
title: Use Cases
---
Waku is a decentralized communication network, facilitating secure and private person-to-person and machine-to-machine communication without a central authority. It supports various use cases, including but not limited to:

View File

@ -1,5 +1,6 @@
---
title: Why Waku?
hide_table_of_contents: true
---
Communication in the present day is heavily influenced by third-party intervention, ranging from censorship and deplatforming to intermediaries that seek to profit from rent and the misuse of data in the surveillance economy.

View File

@ -10,7 +10,7 @@ const sidebars = {
"overview/clients",
{
type: "category",
label: "Waku Concepts",
label: "Concepts",
collapsed: false,
collapsible: true,
items: [

View File

@ -4,7 +4,7 @@ const PoweredByCard = ({ appLink, logoSrc, logoAlt, children }) => (
<div
style={{
width: "100%",
border: "1px solid #ddd",
border: "1px solid #666",
borderRadius: "8px",
padding: "1.5em"
}}
@ -13,14 +13,15 @@ const PoweredByCard = ({ appLink, logoSrc, logoAlt, children }) => (
display: "flex",
flexDirection: "column",
alignItems: "center",
backgroundColor: "#fff"
backgroundColor: "#fff",
marginBottom: "1em"
}}>
<img
src={logoSrc}
alt={logoAlt}
style={{
marginBottom: "0.5em",
height: "65px"
height: "55px",
padding: "5px"
}}
/>
</div>
@ -32,14 +33,18 @@ const PoweredByCard = ({ appLink, logoSrc, logoAlt, children }) => (
padding: "1em",
borderRadius: "8px",
backgroundColor: "#e6f6ff",
border: "1px solid #e6f6ff",
border: "1px solid #666",
fontSize: "16px",
fontWeight: 700,
cursor: "pointer",
color: "#3578e5"
}}
>
Visit Application <svg width="16" height="16" aria-hidden="true" viewBox="0 0 24 24"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>
Visit Application&nbsp;
<svg width="16" height="16" aria-hidden="true" viewBox="0 0 24 24">
<path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z">
</path>
</svg>
</button>
</a>
</div>