mirror of
https://github.com/logos-messaging/docs.waku.org.git
synced 2026-01-02 12:53:12 +00:00
add waku network guide
This commit is contained in:
parent
be3086de62
commit
5193a6935c
@ -72,6 +72,8 @@
|
||||
"lightpushnode",
|
||||
"filternode",
|
||||
"instanceof",
|
||||
"sepolia",
|
||||
"faucet",
|
||||
],
|
||||
"flagWords": [],
|
||||
"ignorePaths": [
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
title: Manage Your Filter Subscriptions
|
||||
---
|
||||
|
||||
This guide provides detailed steps to manage [Filter](/overview/concepts/protocols#filter) subscriptions and handle node disconnections in your application. Have a look at the [Filter guide](/guides/js-waku/light-send-receive) for receiving messages with the `Light Push and Filter protocol`.
|
||||
This guide provides detailed steps to manage [Filter](/overview/concepts/protocols#filter) subscriptions and handle node disconnections in your application. Have a look at the [Filter guide](/guides/js-waku/light-send-receive) for receiving messages with the `Light Push` and `Filter` protocol.
|
||||
|
||||
## Overview
|
||||
|
||||
|
||||
@ -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 locate other [peers](#peer) in the network.
|
||||
Bootstrapping is the initial entry point of a [node](#node) to the [Waku Network](#waku-network). Once connected, other [peer discovery](#peer-discovery) methods can be employed to locate other [peers](#peer) in the network.
|
||||
|
||||
### [Content Topic](/overview/concepts/content-topics)
|
||||
|
||||
@ -52,11 +52,11 @@ Light push is a protocol enabling [light nodes](#light-node) to send [messages](
|
||||
|
||||
### Mostly Offline
|
||||
|
||||
Mostly offline devices are 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.
|
||||
Mostly offline devices are clients who spend most of their time offline or disconnected from the internet and only occasionally to the internet and [Waku Network](#waku-network). 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-network) to enable secure and private peer-to-peer web3 communication.
|
||||
|
||||
### Node Key
|
||||
|
||||
@ -68,11 +68,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-network) with whom communication and interaction are possible.
|
||||
|
||||
### [Peer Discovery](/overview/concepts/peer-discovery)
|
||||
|
||||
Peer discovery is when a [node](#node) locates and gets information about other [peers](#peer) in the [Waku Network](#waku).
|
||||
Peer discovery is when a [node](#node) locates and gets information about other [peers](#peer) in the [Waku Network](#waku-network).
|
||||
|
||||
### [Peer Exchange](/overview/concepts/peer-exchange)
|
||||
|
||||
@ -80,11 +80,11 @@ Peer exchange is a [peer discovery](#peer-discovery) mechanism that enables [lig
|
||||
|
||||
### Peer ID
|
||||
|
||||
`PeerID` is the unique identifier of a [node](#node) in the [Waku Network](#waku) generated from the cryptographic hash of the node's public key.
|
||||
`PeerID` is the unique identifier of a [node](#node) in the [Waku Network](#waku-network) generated from the cryptographic hash of the node's public key.
|
||||
|
||||
### [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-network) to perform various functionalities such as message sending, relaying, filtering, storing, retrieving, and more.
|
||||
|
||||
### Pub/Sub
|
||||
|
||||
@ -94,13 +94,13 @@ Publish/Subscribe (Pub/Sub) is an asynchronous messaging pattern where publisher
|
||||
|
||||
A Pub/Sub topic is a string that serves as an identifier for the topic of interest among [GossipSub](#gossipsub) peers. Peers interested in the same topic are likely to maintain a connection and forward messages received on that topic.
|
||||
|
||||
### [Rate Limit Nullifiers](https://rfc.vac.dev/spec/32/)
|
||||
### [Rate Limit Nullifiers](https://rfc.vac.dev/spec/64/#rln-rate-limiting)
|
||||
|
||||
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) sending and receiving among [peers](#peer) while preserving privacy. It also scales the [Waku Network](#waku) to accommodate many nodes efficiently.
|
||||
Relay is a [protocol](#protocol) that extends the [GossipSub protocol](#gossipsub) to enable secure and censorship resistant [message](#waku-message) sending and receiving among [peers](#peer) while preserving privacy. It also scales the [Waku Network](#waku-network) to accommodate many nodes efficiently.
|
||||
|
||||
### Resource-Limited
|
||||
|
||||
@ -124,15 +124,19 @@ A transport is a network mechanism that establishes connections between [peers](
|
||||
|
||||
### Waku
|
||||
|
||||
Waku is a family of private, secure, decentralised, 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, decentralised, 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-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-network), 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-network). It covers encryption, decryption, and signing methods for message [payloads](#payload), focusing on confidentiality, authenticity, integrity, and unlinkability.
|
||||
|
||||
### [Waku Network](/overview/waku-network)
|
||||
|
||||
The Waku Network is an open-access, scalable peer-to-peer messaging network emphasizing privacy protection and accessibility to [resource limited](#resource-limited) devices.
|
||||
|
||||
### [Waku Noise](https://rfc.vac.dev/spec/35/)
|
||||
|
||||
|
||||
31
docs/overview/waku-network.md
Normal file
31
docs/overview/waku-network.md
Normal file
@ -0,0 +1,31 @@
|
||||
---
|
||||
title: The Waku Network
|
||||
---
|
||||
|
||||
:::info
|
||||
The public Waku Network replaces the previous experimental shared routing layer based on a default pubsub topic (`/waku/2/default-waku/proto`). If your project currently uses this or any other shared pubsub topics, we encourage you to migrate to the public Waku Network with built-in DoS protection, better scalability, etc.
|
||||
:::
|
||||
|
||||
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:
|
||||
|
||||
1. DoS/spam protection with privacy-preserving [Rate-Limiting Nullifiers](https://rfc.vac.dev/spec/64/#rln-rate-limiting).
|
||||
2. Scalability by [sharding traffic](https://rfc.vac.dev/spec/64/#network-shards) into 8 pubsub topics.
|
||||
3. [Automatic shard selection](https://rfc.vac.dev/spec/64/#autosharding) based on content topic.
|
||||
4. [Services](https://rfc.vac.dev/spec/64/#default-services) for resource-restricted nodes, including historical message storage and retrieval, filtering, etc.
|
||||
|
||||
If you want to learn more about the Waku Network, the [WAKU2-NETWORK RFC](https://rfc.vac.dev/spec/64/) provides an in-depth look under the hood.
|
||||
|
||||
## Why Join the Waku Network?
|
||||
|
||||
1. Applications or projects can build decentralized communication components on this network, gaining from the fault-tolerance of shared infrastructure, the out-of-the-box censorship resistance of a p2p network and the privacy-preservation of Waku protocols.
|
||||
2. Supporters of public goods and decentralized infrastructure can run their nodes to support the network.
|
||||
3. We are also working on incentivisation vectors to encourage more node operators to provide services to the network.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
1. **Ethereum Sepolia node**, which can be yours or from a third party. Have a look at the [Access a Sepolia Node Using Infura](https://github.com/waku-org/nwaku/blob/master/docs/tutorial/pre-requisites-of-running-on-chain-spam-protected-chat2.md#3-access-a-node-on-the-sepolia-testnet-using-infura) guide for a free Infura option. This node is used to interact with the [on-chain RLN membership contract](https://rfc.vac.dev/spec/17/).
|
||||
2. **Wallet with Sepolia ETH** (less than 0.1 Sepolia ETH). Have a look at the [Create a Sepolia Ethereum Wallet](https://github.com/waku-org/nwaku/blob/master/docs/tutorial/pre-requisites-of-running-on-chain-spam-protected-chat2.md#1-create-a-sepolia-ethereum-account-and-obtain-its-private-key) and [Obtain Sepolia ETH from Faucet](https://github.com/waku-org/nwaku/blob/master/docs/tutorial/pre-requisites-of-running-on-chain-spam-protected-chat2.md#2-obtain-sepolia-eth-from-faucet) guides to get a Sepolia wallet and fund it with some Sepolia ETH. This wallet is required to register [RLN membership](https://rfc.vac.dev/spec/17/#setup-and-registration), which is essential for publishing on the network.
|
||||
|
||||
## Running a Waku Network Node
|
||||
|
||||
Have a look at the [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) guide for instructions on running a [nwaku](https://github.com/waku-org/nwaku) node in the Waku Network. Use the Sepolia node and wallet you obtained above.
|
||||
@ -4,6 +4,7 @@
|
||||
const sidebars = {
|
||||
main: [
|
||||
"overview/index",
|
||||
"overview/waku-network",
|
||||
"overview/history",
|
||||
"overview/why-waku",
|
||||
"overview/use-cases",
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user