From 772b3465f9339063cef8c42dc48a538e9f9e61b8 Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Fri, 2 Jun 2023 18:25:07 +0100 Subject: [PATCH 1/6] navbar reorg --- docs/contribute.md | 2 +- .../concepts/content-topics.md | 4 +-- .../concepts/network-domains.md | 12 ++++---- .../concepts/peer-discovery.md | 4 +-- .../concepts/protocols.md | 6 ++-- .../concepts/transports.md | 0 docs/{getting-started => overview}/history.md | 0 docs/{getting-started => overview}/index.md | 8 +++--- .../reference/glossary.md | 28 +++++++++---------- .../reference/research-in-progress.md | 0 .../reference/security-features.md | 2 +- .../reference/waku-vs-libp2p.md | 4 +-- .../use-cases.md | 0 .../{getting-started => overview}/why-waku.md | 0 docusaurus.config.js | 6 ++-- sidebars.js | 26 ++++++++--------- 16 files changed, 51 insertions(+), 51 deletions(-) rename docs/{getting-started => overview}/concepts/content-topics.md (78%) rename docs/{getting-started => overview}/concepts/network-domains.md (69%) rename docs/{getting-started => overview}/concepts/peer-discovery.md (88%) rename docs/{getting-started => overview}/concepts/protocols.md (80%) rename docs/{getting-started => overview}/concepts/transports.md (100%) rename docs/{getting-started => overview}/history.md (100%) rename docs/{getting-started => overview}/index.md (80%) rename docs/{getting-started => overview}/reference/glossary.md (88%) rename docs/{getting-started => overview}/reference/research-in-progress.md (100%) rename docs/{getting-started => overview}/reference/security-features.md (94%) rename docs/{getting-started => overview}/reference/waku-vs-libp2p.md (73%) rename docs/{getting-started => overview}/use-cases.md (100%) rename docs/{getting-started => overview}/why-waku.md (100%) diff --git a/docs/contribute.md b/docs/contribute.md index e3411de..670c104 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -6,7 +6,7 @@ Get involved in Waku's open-source initiatives to improve the protocols, SDKs, d - [Operating a node](/guides/sdks-and-nodes#operate-a-waku-node) within your application. - [Reporting bugs](#report-a-bug) and [suggesting missing features](#suggest-a-feature) to the development team. -- Inspiring other developers to explore and use Waku for [various use cases](/getting-started/use-cases). +- Inspiring other developers to explore and use Waku for [various use cases](/overview/use-cases). Begin your journey by visiting the [SDKs and Nodes](/guides/sdks-and-nodes) guide and start building on Waku today! diff --git a/docs/getting-started/concepts/content-topics.md b/docs/overview/concepts/content-topics.md similarity index 78% rename from docs/getting-started/concepts/content-topics.md rename to docs/overview/concepts/content-topics.md index d083f75..832753f 100644 --- a/docs/getting-started/concepts/content-topics.md +++ b/docs/overview/concepts/content-topics.md @@ -2,7 +2,7 @@ title: Content Topics --- -`Content Topics` are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages ([Relay](/getting-started/concepts/protocols#relay) or [Filter](/getting-started/concepts/protocols#filter)) and retrieving historical messages ([Store](/getting-started/concepts/protocols#store)) that meet specific filtering criteria. Please refer to the [WAKU2-TOPICS](https://rfc.vac.dev/spec/23/#content-topics) specification to learn more. +`Content Topics` are metadata strings set by developers on outgoing messages to facilitate protocol-level features like selectively processing incoming messages ([Relay](/overview/concepts/protocols#relay) or [Filter](/overview/concepts/protocols#filter)) and retrieving historical messages ([Store](/overview/concepts/protocols#store)) that meet specific filtering criteria. Please refer to the [WAKU2-TOPICS](https://rfc.vac.dev/spec/23/#content-topics) specification to learn more. ## Content Topic Format @@ -34,4 +34,4 @@ Waku is developing privacy-preserving features like [Anonymous Filter Subscripti You can preserve the anonymity of individual identities by increasing [k-anonymity](https://www.privitar.com/blog/k-anonymity-an-introduction/), where k is proportional to the network size (number of subscribers). This involves using a single content topic across the entire application or specific features such as notifications or private messages, allowing multiple users to share it. -However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format or the [Waku Message](/getting-started/concepts/protocols#waku-message) `meta` attribute. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file +However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format or the [Waku Message](/overview/concepts/protocols#waku-message) `meta` attribute. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file diff --git a/docs/getting-started/concepts/network-domains.md b/docs/overview/concepts/network-domains.md similarity index 69% rename from docs/getting-started/concepts/network-domains.md rename to docs/overview/concepts/network-domains.md index 8038ab9..f4e39ec 100644 --- a/docs/getting-started/concepts/network-domains.md +++ b/docs/overview/concepts/network-domains.md @@ -6,21 +6,21 @@ Waku is a unified and cohesive entity that offers a rich ecosystem with three di ## Discovery Domain -Peer discovery in Waku facilitates locating other nodes within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as [Discv5](/getting-started/concepts/peer-discovery#discv5) and [Peer Exchange](/getting-started/concepts/peer-discovery#peer-exchange). These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more. +Peer discovery in Waku facilitates locating other nodes within the network. As a modular protocol, Waku incorporates various discovery mechanisms, such as [Discv5](/overview/concepts/peer-discovery#discv5) and [Peer Exchange](/overview/concepts/peer-discovery#peer-exchange). These mechanisms allow developers to choose the most suitable option(s) for their specific use cases and user environments, including mobile phones, desktop browsers, servers, and more. ## Gossip Domain GossipSub derives its name from the practice within Pub/Sub networks where peers gossip about the messages they have encountered, thus establishing a message delivery network. -Waku employs gossiping through [Relay](/getting-started/concepts/protocols#relay) to distribute messages across the network. Additionally, Waku introduces [RLN Relay](/getting-started/concepts/protocols#rln-relay), an experimental mechanism that combines privacy preservation and economic spam protection. +Waku employs gossiping through [Relay](/overview/concepts/protocols#relay) to distribute messages across the network. Additionally, Waku introduces [RLN Relay](/overview/concepts/protocols#rln-relay), an experimental mechanism that combines privacy preservation and economic spam protection. ## Request/Response Domain Waku provides a set of protocols to optimize its performance in resource-limited environments like low bandwidth or mostly offline scenarios for multiple purposes. -- [Store](/getting-started/concepts/protocols#store) enables the retrieval of historical messages. -- [Filter](/getting-started/concepts/protocols#filter) efficiently retrieves a subset of messages to conserve bandwidth. -- [Light Push](/getting-started/concepts/protocols#light-push) facilitates message publication for nodes with limited bandwidth and short connection windows. +- [Store](/overview/concepts/protocols#store) enables the retrieval of historical messages. +- [Filter](/overview/concepts/protocols#filter) efficiently retrieves a subset of messages to conserve bandwidth. +- [Light Push](/overview/concepts/protocols#light-push) facilitates message publication for nodes with limited bandwidth and short connection windows. ## Overview of Protocol Interaction @@ -50,7 +50,7 @@ D ->> E: HistoryResponse(msg1, ...) (6) The Pub/Sub topic `pubtopic1` serves as a means of routing messages (the network employs a default Pub/Sub topic) and indicates that it is subscribed to messages on that topic for a relay. Node D serves as a `Store` and is responsible for persisting messages. -1. Node A creates a WakuMessage `msg1` with [Content Topic](/getting-started/concepts/content-topics) `contentTopic1`. +1. Node A creates a WakuMessage `msg1` with [Content Topic](/overview/concepts/content-topics) `contentTopic1`. 2. Node F requests to get messages filtered by Pub/Sub topic `pubtopic1` and Content Topic `contentTopic1`. Node D subscribes F to this filter and will forward messages that match that filter in the future. 3. Node A publishes `msg1` on `pubtopic1`. The message is sent from Node A to Node B and then forwarded to Node D. 4. Node D, upon receiving `msg1` both stores the message for future retrieval by other nodes and forwards it to Node C. diff --git a/docs/getting-started/concepts/peer-discovery.md b/docs/overview/concepts/peer-discovery.md similarity index 88% rename from docs/getting-started/concepts/peer-discovery.md rename to docs/overview/concepts/peer-discovery.md index ccf48bf..3dbb250 100644 --- a/docs/getting-started/concepts/peer-discovery.md +++ b/docs/overview/concepts/peer-discovery.md @@ -6,9 +6,9 @@ When initializing a Waku node, it must connect with other peers to enable messag Once a connection is established, the node must actively seek out additional peers to have: -- Sufficient peers in the [Relay](/getting-started/concepts/protocols#relay) mesh: The goal is to have at least 6 peers in the mesh. This ensures a robust network where messages can be efficiently relayed. +- Sufficient peers in the [Relay](/overview/concepts/protocols#relay) mesh: The goal is to have at least 6 peers in the mesh. This ensures a robust network where messages can be efficiently relayed. - 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 capabilities: The node seeks out peers with specific capabilities, such as [Store](/getting-started/concepts/protocols#store), [Light Push](/getting-started/concepts/protocols#light-push), or [Filter](/getting-started/concepts/protocols#filter). This allows for targeted interactions and enhanced functionality based on the desired capabilities. +- Peers with specific capabilities: The node seeks out peers with specific capabilities, such as [Store](/overview/concepts/protocols#store), [Light Push](/overview/concepts/protocols#light-push), or [Filter](/overview/concepts/protocols#filter). This allows for targeted interactions and enhanced functionality based on the desired capabilities. ## Predefined Nodes diff --git a/docs/getting-started/concepts/protocols.md b/docs/overview/concepts/protocols.md similarity index 80% rename from docs/getting-started/concepts/protocols.md rename to docs/overview/concepts/protocols.md index 0fbe32e..dbbafb0 100644 --- a/docs/getting-started/concepts/protocols.md +++ b/docs/overview/concepts/protocols.md @@ -14,7 +14,7 @@ Waku takes a modular approach, providing a range of protocols that enable applic ## [Filter](https://rfc.vac.dev/spec/12/) -`Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other peers using [content topics](/getting-started/concepts/content-topics). It is designed to be a lightweight alternative for accessing the `Relay` network, particularly tailored for devices with limited bandwidth. +`Filter` protocol allows light nodes to selectively subscribe to specific messages transmitted by other peers using [content topics](/overview/concepts/content-topics). It is designed to be a lightweight alternative for accessing the `Relay` network, particularly tailored for devices with limited bandwidth. :::info `Filter` protocol helps optimize bandwidth usage, but it has fewer privacy guarantees as it must disclose the content topic to its peers to retrieve messages. @@ -30,7 +30,7 @@ Using `Relay` and `Filter` protocols is recommended when a node is online, as `S ## [Light Push](https://rfc.vac.dev/spec/19/) -`Light Push` is a [Request/Response](/getting-started/concepts/network-domains#requestresponse-domain) protocol for nodes with limited bandwidth and short connection windows. It allows a client to receive an acknowledgment when sending messages, indicating that at least one peer has received them. Subsequently, the remote peer forwards these messages to the `Relay` network. +`Light Push` is a [Request/Response](/overview/concepts/network-domains#requestresponse-domain) protocol for nodes with limited bandwidth and short connection windows. It allows a client to receive an acknowledgment when sending messages, indicating that at least one peer has received them. Subsequently, the remote peer forwards these messages to the `Relay` network. :::info While the `Light Push` protocol acknowledges the receipt by the remote peer, it does not guarantee network-wide propagation. @@ -40,7 +40,7 @@ While the `Light Push` protocol acknowledges the receipt by the remote peer, it `Waku Message` specifies the message structure used in the Waku network. It defines the attributes and metadata fields that accompany a message, including the following: -- `content_topic` attribute for [content-based filtering](/getting-started/concepts/content-topics). +- `content_topic` attribute for [content-based filtering](/overview/concepts/content-topics). - `payload` attribute containing the message data payload to be sent. - `meta` attribute for conveying additional details to various protocols for application-specific processing. - `timestamp` attribute signifying the time at which the message was generated by its sender. diff --git a/docs/getting-started/concepts/transports.md b/docs/overview/concepts/transports.md similarity index 100% rename from docs/getting-started/concepts/transports.md rename to docs/overview/concepts/transports.md diff --git a/docs/getting-started/history.md b/docs/overview/history.md similarity index 100% rename from docs/getting-started/history.md rename to docs/overview/history.md diff --git a/docs/getting-started/index.md b/docs/overview/index.md similarity index 80% rename from docs/getting-started/index.md rename to docs/overview/index.md index 009e3c5..4ef66e1 100644 --- a/docs/getting-started/index.md +++ b/docs/overview/index.md @@ -37,7 +37,7 @@ Waku can cater to applications that require privacy guarantees, such as: - Pseudonymity and not being tied to any Personally Identifiable Information (PII). - Metadata protection in transit. -- Various forms of [unlinkability](/getting-started/reference/security-features#anonymityunlinkability). +- Various forms of [unlinkability](/overview/reference/security-features#anonymityunlinkability). ### Modular Design @@ -55,13 +55,13 @@ These options are part of the [Anonymity Trilemma](https://eprint.iacr.org/2017/ Waku provides developers with a convenient solution for building decentralized communication systems, eliminating the need to start from scratch or depend on centralized systems. Node operators can offer several services, such as: - Storing messages for offline devices. -- Enabling bandwidth-saving access to the [Relay](/getting-started/concepts/protocols#relay) network through [Light Push](/getting-started/concepts/protocols#light-push) and [Filter](/getting-started/concepts/protocols#filter) protocols. +- Enabling bandwidth-saving access to the [Relay](/overview/concepts/protocols#relay) network through [Light Push](/overview/concepts/protocols#light-push) and [Filter](/overview/concepts/protocols#filter) protocols. - Implementing spam prevention and DoS mitigation features. -- Providing a resilient and shared [Relay](/getting-started/concepts/protocols#relay) infrastructure that applications can leverage to enhance reliability and efficiency. +- Providing a resilient and shared [Relay](/overview/concepts/protocols#relay) infrastructure that applications can leverage to enhance reliability and efficiency. ## How Does Waku Work? -The [Relay](/getting-started/concepts/protocols#relay) protocol is the foundation of the Waku network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: +The [Relay](/overview/concepts/protocols#relay) protocol is the foundation of the Waku network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: 1. Facilitating the retrieval of historical messages for mostly offline devices. 2. Providing solutions for encrypted communication, such as symmetric encryption, ECIES/asymmetric encryption, and noise handshake-based key turns. diff --git a/docs/getting-started/reference/glossary.md b/docs/overview/reference/glossary.md similarity index 88% rename from docs/getting-started/reference/glossary.md rename to docs/overview/reference/glossary.md index 1d3c901..20ac3b5 100644 --- a/docs/getting-started/reference/glossary.md +++ b/docs/overview/reference/glossary.md @@ -10,7 +10,7 @@ Definitions and usage of the terminology used in the Waku ecosystem. Bootstrapping is the initial entry point of a [node](#node) to the [Waku network](#waku). Once connected, other [peer discovery](#peer-discovery) methods can be employed to establish connections with fellow peers. -### [Content Topic](/getting-started/concepts/content-topics) +### [Content Topic](/overview/concepts/content-topics) A content topic is a string attached to [messages](#waku-message) to enable [protocol-level](#protocol) features like selective message processing and retrieval based on specific criteria. @@ -18,11 +18,11 @@ A content topic is a string attached to [messages](#waku-message) to enable [pro Dappnode is an open-source platform that simplifies the hosting and management of decentralized applications and blockchain nodes, including [Waku](#waku). -### [Discv5](/getting-started/concepts/peer-discovery#discv5) +### [Discv5](/overview/concepts/peer-discovery#discv5) Discv5 is a [peer discovery](#peer-discovery) mechanism using a Distributed Hash Table (DHT) to store [ENR](#enr) records, providing censorship resistance, load distribution, and enhanced network resilience. -### [DNS Discovery](/getting-started/concepts/peer-discovery#dns-discovery) +### [DNS Discovery](/overview/concepts/peer-discovery#dns-discovery) DNS discovery is a [peer discovery](#peer-discovery) mechanism that allows the retrieval of an [ENR](#enr) tree from the TXT field of a domain name, enabling the storage of [node](#node) connection details and promoting decentralization. @@ -30,11 +30,11 @@ DNS discovery is a [peer discovery](#peer-discovery) mechanism that allows the r Ethereum Node Record (ENR) is a specification used to represent and identify [nodes](#node), facilitating [discovery](#peer-discovery) and communication within the network. Besides connection details, `Waku ENR` also includes node configuration information like enabled protocol and shards. -### [Filter](/getting-started/concepts/protocols#filter) +### [Filter](/overview/concepts/protocols#filter) Filter is a [protocol](#protocol) that enables [light nodes](#light-node) to selectively subscribe to specific [messages](#waku-message) transmitted by [peers](#peer) using [content topics](#content-topic). It is designed to be a lightweight alternative for accessing the [Relay](#relay) network. -### [GossipSub](/getting-started/concepts/network-domains#gossip-domain) +### [GossipSub](/overview/concepts/network-domains#gossip-domain) GossipSub is a [protocol](#protocol) for efficient and scalable information dissemination in decentralized networks commonly used in blockchain systems. @@ -42,7 +42,7 @@ GossipSub is a [protocol](#protocol) for efficient and scalable information diss A light node is a [resource-limited](#resource-limited) device or client that leverages service nodes to access the [Relay](#relay) network. -### [Light Push](/getting-started/concepts/protocols#light-push) +### [Light Push](/overview/concepts/protocols#light-push) Light push is a protocol enabling [light nodes](#light-node) to send [messages](#waku-message) to the [Relay](#relay) network and receive acknowledgments confirming that a [peer](#peer) has received them. @@ -62,15 +62,15 @@ The payload field in a [Waku Message](#waku-message) contains the application da A peer refers to other [nodes](#node) and participants of the [Waku network](#waku) with whom communication and interaction are possible. -### [Peer Discovery](/getting-started/concepts/peer-discovery) +### [Peer Discovery](/overview/concepts/peer-discovery) Peer discovery is the process where a [node](#node) locates and connects with [peers](#peer) to establish communication and exchange information. -### [Peer Exchange](/getting-started/concepts/peer-discovery#peer-exchange) +### [Peer Exchange](/overview/concepts/peer-discovery#peer-exchange) Peer exchange is a [peer discovery](#peer-discovery) mechanism that enables [light nodes](#light-node) to request and receive peers from other nodes in the network, allowing them to bootstrap and expand their connections without depending on [Discv5](#discv5). -### [Protocol](/getting-started/concepts/protocols) +### [Protocol](/overview/concepts/protocols) A protocol is a set of rules that enables [nodes](#node) within the [Waku network](#waku) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more. @@ -86,7 +86,7 @@ A Pub/Sub topic is a string that serves as an identifier for the topic of intere Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that provide an anonymous rate-limited messaging framework, preserving message owner anonymity while preventing spam or DoS attacks. -### [Relay](/getting-started/concepts/protocols#relay) +### [Relay](/overview/concepts/protocols#relay) Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship-resistant [message](#waku-message) dissemination among [peers](#peer) while preserving privacy. @@ -94,7 +94,7 @@ Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsu Resource-limited refers to environments or devices restricting available resources, including bandwidth, CPU, memory, disk, and battery power. -### [RLN Relay](/getting-started/concepts/protocols#rln-relay) +### [RLN Relay](/overview/concepts/protocols#rln-relay) RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit Nullifiers (RLN)](#rate-limit-nullifiers) to prevent spam economically by enforcing bandwidth caps, imposing penalties, and facilitating network removal for spammers. @@ -102,11 +102,11 @@ RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit SDKs are tools, libraries, and resources to integrate Waku's private, secure, and censorship-free communication features into various applications. -### [Store](/getting-started/concepts/protocols#store) +### [Store](/overview/concepts/protocols#store) Store is a [protocol](#protocol) that enables the storage of relayed [messages](#waku-message) in the network, allowing offline peers to retrieve missed messages upon reconnecting to the network. -### [Transport](/getting-started/concepts/transports) +### [Transport](/overview/concepts/transports) A transport is a network mechanism that establishes connections between [peers](#peer) and enables efficient transmission, routing, and delivery of data packets. @@ -114,7 +114,7 @@ A transport is a network mechanism that establishes connections between [peers]( Waku is a family of private, secure, decentralized, and peer-to-peer Web3 communication [protocols](#protocol) designed to operate in [resource-limited](#resource-limited) environments and suitable for [node](#node) or desktop application use. Additionally, these protocols collectively form the Waku network. -### [Waku Message](/getting-started/concepts/protocols#waku-message) +### [Waku Message](/overview/concepts/protocols#waku-message) Waku Message defines the structure of messages in the [Waku network](#waku), including the [content topic](#content-topic), [payload](#payload), and metadata for application-specific processing. diff --git a/docs/getting-started/reference/research-in-progress.md b/docs/overview/reference/research-in-progress.md similarity index 100% rename from docs/getting-started/reference/research-in-progress.md rename to docs/overview/reference/research-in-progress.md diff --git a/docs/getting-started/reference/security-features.md b/docs/overview/reference/security-features.md similarity index 94% rename from docs/getting-started/reference/security-features.md rename to docs/overview/reference/security-features.md index d218eff..d899144 100644 --- a/docs/getting-started/reference/security-features.md +++ b/docs/overview/reference/security-features.md @@ -21,7 +21,7 @@ Anonymity means an adversary cannot connect an actor to their actions or data. T The spam protection feature in `Relay` ensures that no adversary can flood the system with many messages, intentionally or not, regardless of the content's validity or usefulness. This protection is achieved through the [scoring mechanism](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/gossipsub-v1.1.md#spam-protection-measures) of `GossipSub v1.1`. Peers assign scores to their connections based on their behavior and remove peers with low scores. -Ongoing research is being conducted, including developing [Rate Limit Nullifiers (RLN)](/getting-started/concepts/protocols#rln-relay), which can be explored further at: . +Ongoing research is being conducted, including developing [Rate Limit Nullifiers (RLN)](/overview/concepts/protocols#rln-relay), which can be explored further at: . ## [Data Confidentiality, Integrity, and Authenticity](https://rfc.vac.dev/spec/10/#data-confidentiality-integrity-and-authenticity) diff --git a/docs/getting-started/reference/waku-vs-libp2p.md b/docs/overview/reference/waku-vs-libp2p.md similarity index 73% rename from docs/getting-started/reference/waku-vs-libp2p.md rename to docs/overview/reference/waku-vs-libp2p.md index cede5a9..7d9735e 100644 --- a/docs/getting-started/reference/waku-vs-libp2p.md +++ b/docs/overview/reference/waku-vs-libp2p.md @@ -12,8 +12,8 @@ Waku intends to incentivize mechanisms to run nodes, but it's not part of libp2p Waku includes various protocols covering the following domains: privacy preservation, censorship resistance, and platform agnosticism, allowing it to run on any platform or environment. -libp2p does not provide out-of-the-box protocols to enable mostly offline/resource-limited devices, [Store](/getting-started/concepts/protocols#store)/[Light Push](/getting-started/concepts/protocols#light-push)/[Filter](/getting-started/concepts/protocols#filter) caters to those use cases. +libp2p does not provide out-of-the-box protocols to enable mostly offline/resource-limited devices, [Store](/overview/concepts/protocols#store)/[Light Push](/overview/concepts/protocols#light-push)/[Filter](/overview/concepts/protocols#filter) caters to those use cases. ## Economic Spam Protection -libp2p does not have strong spam protection guarantees, [RLN Relay](/getting-started/concepts/protocols#rln-relay) is a protocol being developed by the Waku team towards this goal. +libp2p does not have strong spam protection guarantees, [RLN Relay](/overview/concepts/protocols#rln-relay) is a protocol being developed by the Waku team towards this goal. diff --git a/docs/getting-started/use-cases.md b/docs/overview/use-cases.md similarity index 100% rename from docs/getting-started/use-cases.md rename to docs/overview/use-cases.md diff --git a/docs/getting-started/why-waku.md b/docs/overview/why-waku.md similarity index 100% rename from docs/getting-started/why-waku.md rename to docs/overview/why-waku.md diff --git a/docusaurus.config.js b/docusaurus.config.js index d46560d..cfbe525 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -55,11 +55,11 @@ const config = { type: "docSidebar", position: "right", sidebarId: "main", - label: "Getting Started" + label: "About Waku" }, { type: "dropdown", - label: "Guides", + label: "Getting Started", position: "right", items: [ { @@ -103,7 +103,7 @@ const config = { footer: { links: [ { - title: "Guides", + title: "Getting Started", items: [ { to: "/guides/sdks-and-nodes", diff --git a/sidebars.js b/sidebars.js index f711f58..908175f 100644 --- a/sidebars.js +++ b/sidebars.js @@ -3,10 +3,10 @@ /** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */ const sidebars = { main: [ - "getting-started/index", - "getting-started/history", - "getting-started/why-waku", - "getting-started/use-cases", + "overview/index", + "overview/history", + "overview/why-waku", + "overview/use-cases", { type: "html", value: "SDKs and Nodes " @@ -21,11 +21,11 @@ const sidebars = { collapsed: false, collapsible: true, items: [ - "getting-started/concepts/protocols", - "getting-started/concepts/content-topics", - "getting-started/concepts/network-domains", - "getting-started/concepts/peer-discovery", - "getting-started/concepts/transports" + "overview/concepts/protocols", + "overview/concepts/content-topics", + "overview/concepts/network-domains", + "overview/concepts/peer-discovery", + "overview/concepts/transports" ] }, { @@ -34,10 +34,10 @@ const sidebars = { collapsed: false, collapsible: true, items: [ - "getting-started/reference/glossary", - "getting-started/reference/security-features", - "getting-started/reference/research-in-progress", - "getting-started/reference/waku-vs-libp2p" + "overview/reference/glossary", + "overview/reference/security-features", + "overview/reference/research-in-progress", + "overview/reference/waku-vs-libp2p" ] } ], From 69f65fc44e09e66d1411ef0c9e1e308a6536015b Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Fri, 2 Jun 2023 19:07:08 +0100 Subject: [PATCH 2/6] address comments --- docs/clients/js-waku/build-chat-app.mdx | 2 +- docs/clients/js-waku/quick-start.mdx | 2 +- docs/guides/sdks-and-nodes.md | 6 ++--- docs/overview/concepts/content-topics.md | 4 ++-- docs/overview/concepts/network-domains.md | 2 +- docs/overview/concepts/peer-discovery.md | 4 ++-- docs/overview/concepts/protocols.md | 6 ++--- docs/overview/index.md | 4 ++-- docs/overview/reference/glossary.md | 24 ++++++++++---------- docs/overview/reference/security-features.md | 2 +- docs/powered-by-waku.mdx | 14 ++++++------ 11 files changed, 35 insertions(+), 35 deletions(-) diff --git a/docs/clients/js-waku/build-chat-app.mdx b/docs/clients/js-waku/build-chat-app.mdx index 464e988..d6412fb 100644 --- a/docs/clients/js-waku/build-chat-app.mdx +++ b/docs/clients/js-waku/build-chat-app.mdx @@ -119,7 +119,7 @@ await waku.waitForRemotePeer(wakuNode) ## 5. Define a Content Topic -The `contentTopic` is a metadata `string` used for categorizing messages on the Waku network. +The `contentTopic` is a metadata `string` used for categorizing messages on the Waku Network. Depending on your use case, you can create one or more new `contentTopic`(s). Refer to our [How to Choose a Content Topic](/) guide more details. diff --git a/docs/clients/js-waku/quick-start.mdx b/docs/clients/js-waku/quick-start.mdx index 23836b9..81eaec0 100644 --- a/docs/clients/js-waku/quick-start.mdx +++ b/docs/clients/js-waku/quick-start.mdx @@ -47,7 +47,7 @@ await waku.waitForRemotePeer(wakuNode) ## 4. Define a Content Topic -The `contentTopic` is a metadata `string` used for categorizing messages on the Waku network. +The `contentTopic` is a metadata `string` used for categorizing messages on the Waku Network. Depending on your use case, you can create one or more new `contentTopic`(s). Refer to our [How to Choose a Content Topic](/) guide more details. diff --git a/docs/guides/sdks-and-nodes.md b/docs/guides/sdks-and-nodes.md index 993f386..b226caa 100644 --- a/docs/guides/sdks-and-nodes.md +++ b/docs/guides/sdks-and-nodes.md @@ -10,7 +10,7 @@ Ready to integrate Waku into your application for private, secure, censorship-fr ## Operate a Waku Node -The Waku network is permissionless and decentralized, consisting of nodes. It is open for anyone to run a node, use the network, and contribute to its support. Please visit the [nwaku guide](https://github.com/waku-org/nwaku/tree/master/docs/operators) (recommended) or [go-waku guide](https://github.com/waku-org/go-waku/tree/master/docs/operators) for operators to learn more. +The Waku Network is permissionless and decentralized, consisting of nodes. It is open for anyone to run a node, use the network, and contribute to its support. Please visit the [nwaku guide](https://github.com/waku-org/nwaku/tree/master/docs/operators) (recommended) or [go-waku guide](https://github.com/waku-org/go-waku/tree/master/docs/operators) for operators to learn more. ## Integrate Using SDKs @@ -19,7 +19,7 @@ Waku is implemented in multiple SDKs, allowing it to easily integrate with diffe | SDK | Description | Documentation | | - | - | - | | [js-waku](https://github.com/waku-org/js-waku) | JavaScript/TypeScript SDK designed for browser environments | | -| [nwaku](https://github.com/waku-org/nwaku) | Nim SDK for running a standalone node and accessing the Waku network | | +| [nwaku](https://github.com/waku-org/nwaku) | Nim SDK for running a standalone node and accessing the Waku Network | | | [go-waku](https://github.com/waku-org/go-waku) | Golang SDK designed for integration with Golang applications, includes C bindings for usage in C/C++, C#/Unity, Swift, and Kotlin | | | [waku-rust-bindings](https://github.com/waku-org/waku-rust-bindings) | Rust wrapper using `go-waku` bindings designed for integration in Rust applications | | @@ -39,4 +39,4 @@ Waku provides integrations tailored for mobile applications, enabling Waku to op | - | - | - | | [@waku/react](https://www.npmjs.com/package/@waku/react) | React components and UI adapters designed for seamless integration with `js-waku` | | | [@waku/create-app](https://www.npmjs.com/package/@waku/create-app) | Starter kit to bootstrap your next `js-waku` project from various example templates | | -| JSON-RPC API | `JSON-RPC` API interface provided by `nwaku` and `go-waku` to access the Waku network | | \ No newline at end of file +| JSON-RPC API | `JSON-RPC` API interface provided by `nwaku` and `go-waku` to access the Waku Network | | \ No newline at end of file diff --git a/docs/overview/concepts/content-topics.md b/docs/overview/concepts/content-topics.md index 832753f..e03cbc9 100644 --- a/docs/overview/concepts/content-topics.md +++ b/docs/overview/concepts/content-topics.md @@ -26,7 +26,7 @@ While you can choose any encoding format for your `Content Topic`, we highly rec ## Naming Considerations -When choosing a content topic, it is crucial to consider privacy implications. The `Filter` protocol discloses content topics to peers, and the `Store` protocol can link them with a light node, allowing nodes providing these services to access message content topics, posing potential privacy risks. +When choosing a content topic, it is crucial to consider privacy implications. The `Filter`, `Store`, and `Light Push` protocols disclose content topics to peers, enabling said peer to link ip and content topic interests. `Relay` provides recipient anonymity thanks to `GossipSub`, but this may be lost if the content topic reveals information about the user. :::info Waku is developing privacy-preserving features like [Anonymous Filter Subscription](https://rfc.vac.dev/spec/12/#future-work) for the `Filter` protocol and [Anonymous Query](https://rfc.vac.dev/spec/13/#future-work) for the `Store` protocol to hide content topics from potential adversaries. @@ -34,4 +34,4 @@ Waku is developing privacy-preserving features like [Anonymous Filter Subscripti You can preserve the anonymity of individual identities by increasing [k-anonymity](https://www.privitar.com/blog/k-anonymity-an-introduction/), where k is proportional to the network size (number of subscribers). This involves using a single content topic across the entire application or specific features such as notifications or private messages, allowing multiple users to share it. -However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format or the [Waku Message](/overview/concepts/protocols#waku-message) `meta` attribute. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file +However, maintaining functionality with a single content topic can introduce complexity. We recommend switching functionality using the Protocol Buffer message format. By doing so, applications can retain a high granularity and functionality while using a single content topic, preserving user privacy. \ No newline at end of file diff --git a/docs/overview/concepts/network-domains.md b/docs/overview/concepts/network-domains.md index f4e39ec..b6266e4 100644 --- a/docs/overview/concepts/network-domains.md +++ b/docs/overview/concepts/network-domains.md @@ -24,7 +24,7 @@ Waku provides a set of protocols to optimize its performance in resource-limited ## Overview of Protocol Interaction -Here's a diagram illustrating the interaction between different protocols within the Waku network. +Here's a diagram illustrating the interaction between different protocols within the Waku Network. ```mermaid sequenceDiagram diff --git a/docs/overview/concepts/peer-discovery.md b/docs/overview/concepts/peer-discovery.md index 3dbb250..d084407 100644 --- a/docs/overview/concepts/peer-discovery.md +++ b/docs/overview/concepts/peer-discovery.md @@ -2,7 +2,7 @@ title: Peer Discovery --- -When initializing 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 and connect with other peers. This process is known as bootstrapping. +When initializing 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. Once a connection is established, the node must actively seek out additional peers to have: @@ -44,7 +44,7 @@ This bootstrapping method allows anyone to register and publish a domain name fo ## [Discv5](https://rfc.vac.dev/spec/33/) -`Discv5` is a decentralized and efficient peer discovery method 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 randomized sets of nodes for mesh expansion. This enhances resilience, load balancing, and security in the Waku network. +`Discv5` is a decentralized and efficient peer discovery method 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 randomized sets of nodes for mesh expansion. This enhances resilience, load balancing, and security in the Waku Network. #### Pros diff --git a/docs/overview/concepts/protocols.md b/docs/overview/concepts/protocols.md index dbbafb0..ff78fa8 100644 --- a/docs/overview/concepts/protocols.md +++ b/docs/overview/concepts/protocols.md @@ -6,11 +6,11 @@ Waku takes a modular approach, providing a range of protocols that enable applic ## [Relay](https://rfc.vac.dev/spec/11/) -`Relay` protocol employs a Pub/Sub architecture to facilitate message routing among peers. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. +`Relay` protocol employs a Pub/Sub architecture to facilitate message routing among peers. It extends the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md) to create a privacy-focused peer-to-peer messaging protocol that enables secure communication channels, encryption, and protection against censorship. It also scales the Waku Network to accommodate many nodes efficiently. ## [RLN Relay](https://rfc.vac.dev/spec/17/) -`RLN Relay` protocol extends the `Relay` protocol by using [Rate Limit Nullifiers (RLN)](https://rfc.vac.dev/spec/32/) to provide efficient and economic spam prevention. It caps the bandwidth usage for all peers on the network, effectively preventing spam, and imposes financial penalties and network removal for spammers. You can find more details in the [RLN Relay blog post](https://vac.dev/rln-relay). +`RLN Relay` protocol extends the `Relay` protocol by using [Rate Limit Nullifiers (RLN)](https://rfc.vac.dev/spec/32/) to provide efficient and economic spam prevention. It enforces a rate limit on messages over time for all peers on the network, economically preventing spam, and imposes financial penalties and network removal for spammers. You can find more details in the [RLN Relay blog post](https://vac.dev/rln-relay). ## [Filter](https://rfc.vac.dev/spec/12/) @@ -38,7 +38,7 @@ While the `Light Push` protocol acknowledges the receipt by the remote peer, it ## [Waku Message](https://rfc.vac.dev/spec/14) -`Waku Message` specifies the message structure used in the Waku network. It defines the attributes and metadata fields that accompany a message, including the following: +`Waku Message` specifies the message structure used in the Waku Network. It defines the attributes and metadata fields that accompany a message, including the following: - `content_topic` attribute for [content-based filtering](/overview/concepts/content-topics). - `payload` attribute containing the message data payload to be sent. diff --git a/docs/overview/index.md b/docs/overview/index.md index 4ef66e1..1fa427a 100644 --- a/docs/overview/index.md +++ b/docs/overview/index.md @@ -52,7 +52,7 @@ These options are part of the [Anonymity Trilemma](https://eprint.iacr.org/2017/ ### Service Network -Waku provides developers with a convenient solution for building decentralized communication systems, eliminating the need to start from scratch or depend on centralized systems. Node operators can offer several services, such as: +Waku provides developers with a convenient solution for building decentralized communication systems, eliminating the need to build a peer-to-peer network from scratch. Node operators can offer several services, such as: - Storing messages for offline devices. - Enabling bandwidth-saving access to the [Relay](/overview/concepts/protocols#relay) network through [Light Push](/overview/concepts/protocols#light-push) and [Filter](/overview/concepts/protocols#filter) protocols. @@ -61,7 +61,7 @@ Waku provides developers with a convenient solution for building decentralized c ## How Does Waku Work? -The [Relay](/overview/concepts/protocols#relay) protocol is the foundation of the Waku network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: +The [Relay](/overview/concepts/protocols#relay) protocol is the foundation of the Waku Network, which employs a Pub/Sub architecture built on the [libp2p GossipSub protocol](https://github.com/libp2p/specs/blob/master/pubsub/gossipsub/README.md). Additionally, various other Waku protocols have been created to facilitate specific functionalities, including but not limited to: 1. Facilitating the retrieval of historical messages for mostly offline devices. 2. Providing solutions for encrypted communication, such as symmetric encryption, ECIES/asymmetric encryption, and noise handshake-based key turns. diff --git a/docs/overview/reference/glossary.md b/docs/overview/reference/glossary.md index 20ac3b5..7c6281d 100644 --- a/docs/overview/reference/glossary.md +++ b/docs/overview/reference/glossary.md @@ -8,7 +8,7 @@ Definitions and usage of the terminology used in the Waku ecosystem. ### Bootstrapping -Bootstrapping is the initial entry point of a [node](#node) to the [Waku network](#waku). Once connected, other [peer discovery](#peer-discovery) methods can be employed to establish connections with fellow peers. +Bootstrapping is the initial entry point of a [node](#node) to the [Waku Network](#waku). Once connected, other [peer discovery](#peer-discovery) methods can be employed to establish connections with fellow peers. ### [Content Topic](/overview/concepts/content-topics) @@ -48,11 +48,11 @@ Light push is a protocol enabling [light nodes](#light-node) to send [messages]( ### Mostly Offline -Mostly offline devices refer to clients who spend most of their time offline or disconnected from the network but occasionally connect for certain reasons. Examples include browsers and mobile phones. +Mostly offline devices refer to clients who spend most of their time offline or disconnected from the internet and only occasionally to the internet and [Waku Network](#waku). Examples include browsers and mobile phones. ### Node -A node is a device or client that implements Waku [protocols](#protocol) and leverages the [Waku network](#waku) to enable secure and private peer-to-peer Web3 communication. +A node is a device or client that implements Waku [protocols](#protocol) and leverages the [Waku Network](#waku) to enable secure and private peer-to-peer Web3 communication. ### Payload @@ -60,11 +60,11 @@ The payload field in a [Waku Message](#waku-message) contains the application da ### Peer -A peer refers to other [nodes](#node) and participants of the [Waku network](#waku) with whom communication and interaction are possible. +A peer refers to other [nodes](#node) and participants of the [Waku Network](#waku) with whom communication and interaction are possible. ### [Peer Discovery](/overview/concepts/peer-discovery) -Peer discovery is the process where a [node](#node) locates and connects with [peers](#peer) to establish communication and exchange information. +Peer discovery is when a [node](#node) locates and gets information about other [peers](#peer) in the [Waku Network](#waku). ### [Peer Exchange](/overview/concepts/peer-discovery#peer-exchange) @@ -72,7 +72,7 @@ Peer exchange is a [peer discovery](#peer-discovery) mechanism that enables [lig ### [Protocol](/overview/concepts/protocols) -A protocol is a set of rules that enables [nodes](#node) within the [Waku network](#waku) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more. +A protocol is a set of rules that enables [nodes](#node) within the [Waku Network](#waku) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more. ### Pub/Sub @@ -84,11 +84,11 @@ A Pub/Sub topic is a string that serves as an identifier for the topic of intere ### [Rate Limit Nullifiers](https://rfc.vac.dev/spec/32/) -Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that provide an anonymous rate-limited messaging framework, preserving message owner anonymity while preventing spam or DoS attacks. +Rate Limit Nullifiers (RLN) are a construct based on zero-knowledge proofs that enables rate limiting functionality while preserving the users's anonymity. ### [Relay](/overview/concepts/protocols#relay) -Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship-resistant [message](#waku-message) dissemination among [peers](#peer) while preserving privacy. +Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship-resistant [message](#waku-message) dissemination among [peers](#peer) while preserving privacy. It also scales the [Waku Network](#waku) to accommodate many nodes efficiently. ### Resource-Limited @@ -96,7 +96,7 @@ Resource-limited refers to environments or devices restricting available resourc ### [RLN Relay](/overview/concepts/protocols#rln-relay) -RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit Nullifiers (RLN)](#rate-limit-nullifiers) to prevent spam economically by enforcing bandwidth caps, imposing penalties, and facilitating network removal for spammers. +RLN Relay is an extension of the [Relay protocol](#relay) that uses [Rate Limit Nullifiers (RLN)](#rate-limit-nullifiers) to prevent spam economically by enforcing a rate limit on messages over time, imposing penalties, and facilitating network removal for spammers. ### [SDK](/guides/sdks-and-nodes) @@ -112,15 +112,15 @@ A transport is a network mechanism that establishes connections between [peers]( ### Waku -Waku is a family of private, secure, decentralized, and peer-to-peer Web3 communication [protocols](#protocol) designed to operate in [resource-limited](#resource-limited) environments and suitable for [node](#node) or desktop application use. Additionally, these protocols collectively form the Waku network. +Waku is a family of private, secure, decentralized, and peer-to-peer Web3 communication [protocols](#protocol) designed to operate in [resource-limited](#resource-limited) environments and suitable for [node](#node) or desktop application use. Additionally, these protocols collectively form the Waku Network. ### [Waku Message](/overview/concepts/protocols#waku-message) -Waku Message defines the structure of messages in the [Waku network](#waku), including the [content topic](#content-topic), [payload](#payload), and metadata for application-specific processing. +Waku Message defines the structure of messages in the [Waku Network](#waku), including the [content topic](#content-topic), [payload](#payload), and metadata for application-specific processing. ### [Waku Message Payload Encryption](https://rfc.vac.dev/spec/26/) -Waku Message Payload Encryption provides guidelines for implementing secure and private communication in the [Waku network](#waku). It covers encryption, decryption, and signing methods for message [payloads](#payload), focusing on confidentiality, authenticity, integrity, and unlinkability. +Waku Message Payload Encryption provides guidelines for implementing secure and private communication in the [Waku Network](#waku). It covers encryption, decryption, and signing methods for message [payloads](#payload), focusing on confidentiality, authenticity, integrity, and unlinkability. ### [Waku Noise](https://rfc.vac.dev/spec/35/) diff --git a/docs/overview/reference/security-features.md b/docs/overview/reference/security-features.md index d899144..5c1d048 100644 --- a/docs/overview/reference/security-features.md +++ b/docs/overview/reference/security-features.md @@ -25,7 +25,7 @@ Ongoing research is being conducted, including developing [Rate Limit Nullifiers ## [Data Confidentiality, Integrity, and Authenticity](https://rfc.vac.dev/spec/10/#data-confidentiality-integrity-and-authenticity) -Confidentiality in Waku is ensured through data encryption, while integrity and authenticity are achieved through digital signatures. These security measures are available in [Waku Message (version 1)](https://rfc.vac.dev/spec/14#version-1) and [Noise](https://rfc.vac.dev/spec/35/) protocols, which offer payload encryption and encrypted signatures. [Noise](https://rfc.vac.dev/spec/35/) protocols also facilitate secure channel negotiation within the Waku network. +Confidentiality in Waku is ensured through data encryption, while integrity and authenticity are achieved through digital signatures. These security measures are available in [Waku Message (version 1)](https://rfc.vac.dev/spec/14#version-1) and [Noise](https://rfc.vac.dev/spec/35/) protocols, which offer payload encryption and encrypted signatures. [Noise](https://rfc.vac.dev/spec/35/) protocols also facilitate secure channel negotiation within the Waku Network. ## [Security Considerations](https://rfc.vac.dev/spec/10/#security-considerations) diff --git a/docs/powered-by-waku.mdx b/docs/powered-by-waku.mdx index 16aa885..6f1a252 100644 --- a/docs/powered-by-waku.mdx +++ b/docs/powered-by-waku.mdx @@ -15,13 +15,6 @@ import PoweredByCard from "@site/src/components/PoweredByCard"; > Status is a secure messaging app, crypto wallet, and Web3 browser built with state-of-the-art technology. - - XMTP uses the Waku network to enable secure Web3 messaging in their open protocol and network. - Waku powers the Graphcast SDK, enabling the development of gossip-powered applications within The Graph ecosystem. + + XMTP uses the Waku Network to enable secure Web3 messaging in their open protocol and network. + ``` \ No newline at end of file From 859bbde219f83652f8285cb4349be138c6e8f3b5 Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Fri, 2 Jun 2023 19:12:50 +0100 Subject: [PATCH 3/6] add bounties link --- docusaurus.config.js | 4 ++++ sidebars.js | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index cfbe525..bfc9924 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -89,6 +89,10 @@ const config = { { label: "Watch Our Presentations", to: "/presentations" + }, + { + label: "Bug Bounties", + href: "https://hackenproof.com/status-dot-im/waku" } ] }, diff --git a/sidebars.js b/sidebars.js index 908175f..92432e5 100644 --- a/sidebars.js +++ b/sidebars.js @@ -48,7 +48,12 @@ const sidebars = { "powered-by-waku", "community", "contribute", - "presentations" + "presentations", + { + type: "link", + label: "Bug Bounties", + href: "https://hackenproof.com/status-dot-im/waku" + } ] }; From 38cce9454092e72cdb5b4ae19a427ee06dd80b15 Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Fri, 2 Jun 2023 23:45:28 +0100 Subject: [PATCH 4/6] add bug bounty info --- docs/contribute.md | 4 ++++ docusaurus.config.js | 2 +- sidebars.js | 2 +- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/docs/contribute.md b/docs/contribute.md index 670c104..c6ef0eb 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -22,6 +22,10 @@ To suggest a new feature, create an issue in the appropriate [GitHub repository] Community pull requests (PRs) are highly encouraged, but we recommend [suggesting a feature](#suggest-a-feature) first to gauge interest and gather feedback before proceeding with a PR. +## Submit Security Bug Reports + +To improve Waku's security, we invite researchers to collaborate in identifying and resolving potential vulnerabilities. To participate, submit your reports at: . Please review our bug bounty program's details to get started. + ## Contribute to Waku Research Waku Research is an innovative R&D project dedicated to developing modular peer-to-peer protocols for communication that prioritize privacy, security, and censorship resistance. Explore Waku's ongoing challenges and experimental code at . \ No newline at end of file diff --git a/docusaurus.config.js b/docusaurus.config.js index bfc9924..99c2a33 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -91,7 +91,7 @@ const config = { to: "/presentations" }, { - label: "Bug Bounties", + label: "Bug Bounty Program", href: "https://hackenproof.com/status-dot-im/waku" } ] diff --git a/sidebars.js b/sidebars.js index 92432e5..746f9c6 100644 --- a/sidebars.js +++ b/sidebars.js @@ -51,7 +51,7 @@ const sidebars = { "presentations", { type: "link", - label: "Bug Bounties", + label: "Bug Bounty Program", href: "https://hackenproof.com/status-dot-im/waku" } ] From 6ca30709c9392c6b80a41197527bcd92f4a8700d Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Mon, 5 Jun 2023 09:09:50 +0100 Subject: [PATCH 5/6] improvements --- docs/contribute.md | 2 +- docs/powered-by-waku.mdx | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/contribute.md b/docs/contribute.md index c6ef0eb..2cba857 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -24,7 +24,7 @@ Community pull requests (PRs) are highly encouraged, but we recommend [suggestin ## Submit Security Bug Reports -To improve Waku's security, we invite researchers to collaborate in identifying and resolving potential vulnerabilities. To participate, submit your reports at: . Please review our bug bounty program's details to get started. +To improve Waku's security, we invite researchers to collaborate in identifying and resolving potential vulnerabilities. To participate, please review our bug bounty program's details and submit your reports at: . ## Contribute to Waku Research diff --git a/docs/powered-by-waku.mdx b/docs/powered-by-waku.mdx index 6f1a252..cda0033 100644 --- a/docs/powered-by-waku.mdx +++ b/docs/powered-by-waku.mdx @@ -15,6 +15,13 @@ import PoweredByCard from "@site/src/components/PoweredByCard"; > Status is a secure messaging app, crypto wallet, and Web3 browser built with state-of-the-art technology. + + XMTP uses the Waku Network to enable secure Web3 messaging in their open protocol and network. + Waku powers the Graphcast SDK, enabling the development of gossip-powered applications within The Graph ecosystem. - - XMTP uses the Waku Network to enable secure Web3 messaging in their open protocol and network. - ``` \ No newline at end of file From 4181a0ecd658d1dacd2a682b09ff2e00c860af90 Mon Sep 17 00:00:00 2001 From: LordGhostX Date: Tue, 6 Jun 2023 03:47:24 +0100 Subject: [PATCH 6/6] improve navbar hint --- docusaurus.config.js | 4 +- sidebars.js | 98 ++++++++++++++++++++++++++------------------ 2 files changed, 60 insertions(+), 42 deletions(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 99c2a33..e4f1f76 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -59,7 +59,7 @@ const config = { }, { type: "dropdown", - label: "Getting Started", + label: "Guides", position: "right", items: [ { @@ -107,7 +107,7 @@ const config = { footer: { links: [ { - title: "Getting Started", + title: "Guides", items: [ { to: "/guides/sdks-and-nodes", diff --git a/sidebars.js b/sidebars.js index 746f9c6..d07d7ca 100644 --- a/sidebars.js +++ b/sidebars.js @@ -3,56 +3,74 @@ /** @type {import("@docusaurus/plugin-content-docs").SidebarsConfig} */ const sidebars = { main: [ - "overview/index", - "overview/history", - "overview/why-waku", - "overview/use-cases", - { - type: "html", - value: "SDKs and Nodes " - }, - { - type: "html", - value: "Presentations " - }, { type: "category", - label: "Concepts", - collapsed: false, - collapsible: true, + label: "About Waku", + collapsible: false, items: [ - "overview/concepts/protocols", - "overview/concepts/content-topics", - "overview/concepts/network-domains", - "overview/concepts/peer-discovery", - "overview/concepts/transports" - ] - }, - { - type: "category", - label: "Reference", - collapsed: false, - collapsible: true, - items: [ - "overview/reference/glossary", - "overview/reference/security-features", - "overview/reference/research-in-progress", - "overview/reference/waku-vs-libp2p" + "overview/index", + "overview/history", + "overview/why-waku", + "overview/use-cases", + { + type: "html", + value: "SDKs and Nodes " + }, + { + type: "html", + value: "Presentations " + }, + { + type: "category", + label: "Concepts", + collapsed: false, + items: [ + "overview/concepts/protocols", + "overview/concepts/content-topics", + "overview/concepts/network-domains", + "overview/concepts/peer-discovery", + "overview/concepts/transports" + ] + }, + { + type: "category", + label: "Reference", + items: [ + "overview/reference/glossary", + "overview/reference/security-features", + "overview/reference/research-in-progress", + "overview/reference/waku-vs-libp2p" + ] + } ] } ], guides: [ - "guides/sdks-and-nodes" + { + type: "category", + label: "Guides", + collapsible: false, + items: [ + "guides/sdks-and-nodes" + ] + } ], community: [ - "powered-by-waku", - "community", - "contribute", - "presentations", { - type: "link", - label: "Bug Bounty Program", - href: "https://hackenproof.com/status-dot-im/waku" + type: "category", + label: "Community", + collapsible: false, + items: [ + "powered-by-waku", + "community", + "contribute", + "presentations", + { + type: "link", + label: "Bug Bounty Program", + href: "https://hackenproof.com/status-dot-im/waku" + } + ] } ] };