mirror of
https://github.com/waku-org/docs.waku.org.git
synced 2025-02-20 16:58:22 +00:00
reorg nwaku binary acquisition
This commit is contained in:
parent
5e45aad734
commit
8a9ee15a26
@ -47,7 +47,8 @@
|
||||
"myaddr",
|
||||
"extip",
|
||||
"staticnode",
|
||||
"permissioned"
|
||||
"permissioned",
|
||||
"Secp"
|
||||
],
|
||||
"flagWords": [],
|
||||
"ignorePaths": [
|
||||
|
@ -4,7 +4,7 @@ title: Contribute to Waku
|
||||
|
||||
Get involved in Waku's open-source initiatives to improve the protocols, SDKs, developer tools and examples, and documentation. You can contribute by:
|
||||
|
||||
- [Operating a node](/guides/nodes-and-sdks#run-a-waku-node) within your application.
|
||||
- [Running a node](/guides/nodes-and-sdks#run-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](/overview/use-cases).
|
||||
|
||||
|
@ -6,7 +6,7 @@ title: Nodes and SDKs
|
||||
Waku has risks and limitations as it is still developing and preparing for extensive adoption. However, it is already demonstrating its capabilities by [powering various applications](/powered-by-waku). [Join our community](/community) to stay updated on our progress.
|
||||
:::
|
||||
|
||||
Ready to integrate Waku into your application for private, secure, censorship-free communication? Explore the available SDKs and contribute by operating a node.
|
||||
Ready to integrate Waku into your application for private, secure, censorship-free communication? Explore the available SDKs and contribute by running a node.
|
||||
|
||||
## Run a Waku Node
|
||||
|
||||
|
@ -5,12 +5,13 @@ title: Build Nwaku from Source
|
||||
This guide provides detailed steps to build a `nwaku` node from the source to access the latest development version or a specific commit or tag of `nwaku`. If you prefer a more stable version, [download a pre-compiled binary](https://github.com/waku-org/nwaku/tags) instead.
|
||||
|
||||
:::info
|
||||
A minimum of 2GB of RAM is required to build `nwaku`.
|
||||
- A minimum of 2GB of RAM is required to build `nwaku`.
|
||||
- Nwaku is available for Linux and macOS, with experimental Windows support.
|
||||
:::
|
||||
|
||||
## Install Dependencies
|
||||
|
||||
To clone and build nwaku, you will need the standard developer tools, including a C compiler, Make, Bash, and Git.
|
||||
To build nwaku, you will need the standard developer tools, including a C compiler, Make, Bash, and Git.
|
||||
|
||||
#### Linux
|
||||
|
||||
|
@ -68,5 +68,5 @@ To find your public IP, use:
|
||||
dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'
|
||||
```
|
||||
|
||||
We recommend using explicit port mappings (`-p`) when exposing ports accessible from outside the host (libp2p listening ports, discovery, HTTP server).
|
||||
We recommend using explicit port mappings (`-p`) when exposing ports accessible from outside the host (listening and discovery ports, API servers).
|
||||
:::
|
@ -38,7 +38,7 @@ Here are the available node configuration options, along with their default valu
|
||||
| Name | Default Value | Description |
|
||||
| - | - | - |
|
||||
| `dns-addrs` | `true` | Enable resolution of `dnsaddr`, `dns4` or `dns6` multiaddrs |
|
||||
| `dns-addrs-name-server` | `@[1.1.1.1, 1.0.0.1]` | DNS name server IPs to query for DNS multiaddrs resolution. Argument may be repeated |
|
||||
| `dns-addrs-name-server` | `["1.1.1.1", "1.0.0.1"]` | DNS name server IPs to query for DNS multiaddrs resolution. Argument may be repeated |
|
||||
| `dns4-domain-name` | | The domain name resolving to the node's public IPv4 address |
|
||||
|
||||
## Relay Config
|
||||
@ -64,7 +64,7 @@ Here are the available node configuration options, along with their default valu
|
||||
| `rln-relay-tree-path` | | Path to the RLN merkle tree sled db (https://github.com/spacejam/sled) |
|
||||
| `staticnode` | | Peer multiaddr to directly connect with. Argument may be repeated |
|
||||
| `keep-alive` | `false` | Enable keep-alive for idle connections: true\|false |
|
||||
| `topic` | `@[/waku/2/default-waku/proto]` | Default topic to subscribe to. Argument may be repeated |
|
||||
| `topic` | `["/waku/2/default-waku/proto"]` | Default topic to subscribe to. Argument may be repeated |
|
||||
|
||||
## Store and Message Store Config
|
||||
|
||||
@ -129,7 +129,7 @@ Here are the available node configuration options, along with their default valu
|
||||
| - | - | - |
|
||||
| `dns-discovery` | `false` | Enable discovering nodes via DNS |
|
||||
| `dns-discovery-url` | | URL for DNS node list in format 'enrtree://<key\>@<fqdn\>' |
|
||||
| `dns-discovery-name-server` | `@[1.1.1.1, 1.0.0.1]` | DNS name server IPs to query. Argument may be repeated |
|
||||
| `dns-discovery-name-server` | `["1.1.1.1", "1.0.0.1"]` | DNS name server IPs to query. Argument may be repeated |
|
||||
|
||||
## Discv5 Config
|
||||
|
||||
|
@ -4,31 +4,37 @@ title: Run a Nwaku Node
|
||||
|
||||
Nwaku (formerly `nim-waku`) 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](/overview/concepts/protocols) they want to support based on their needs, motivations, and available resources.
|
||||
|
||||
This guide provides detailed steps to build, configure, and connect a `nwaku` node to the Waku Network. It also includes interacting with the node and finding its addresses.
|
||||
This guide provides detailed steps to download, build, configure, and connect a `nwaku` node to the Waku Network. It also includes interacting with the node and finding its addresses.
|
||||
|
||||
:::info
|
||||
Nwaku can be built and run on Linux and macOS, while Windows support is currently experimental.
|
||||
:::
|
||||
## Get the Node Binary
|
||||
|
||||
## Build the Node
|
||||
To run a node, you must have the `nwaku` binary. Nwaku provides multiple options for acquiring the node binary:
|
||||
|
||||
Before running a `nwaku` node, it is necessary to build it. Nwaku provides multiple options for building a node:
|
||||
#### Download the Binary
|
||||
|
||||
| | Description | Documentation |
|
||||
| - | - | - |
|
||||
| Precompiled Binary | Download a precompiled binary of the `nwaku` node | [Download Nwaku Binary](https://github.com/waku-org/nwaku/tags) |
|
||||
| Build Source | Build a `nwaku` node directly from the source code | [Build Nwaku from Source](/guides/nwaku/build-source) |
|
||||
| Docker Container | Build and run a `nwaku` node in a Docker Container | [Run Nwaku in a Docker Container](/guides/nwaku/run-docker) |
|
||||
| Docker Compose | Build and run a `nwaku` node with Docker Compose | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) |
|
||||
| Nightly Release | Try the latest `nwaku` updates without compiling the binaries | [Download Nightly Release](https://github.com/waku-org/nwaku/releases/tag/nightly) |
|
||||
|
||||
#### Build the Binary
|
||||
|
||||
You can build the node binary directly from the [nwaku source code](https://github.com/waku-org/nwaku). To learn more, please refer to the [Build Nwaku from Source](/guides/nwaku/build-source) guide.
|
||||
|
||||
#### Run the Binary in Docker
|
||||
|
||||
| | Description | Documentation |
|
||||
| - | - | - |
|
||||
| Docker Container | Run a `nwaku` node in a Docker Container | [Run Nwaku in a Docker Container](/guides/nwaku/run-docker) |
|
||||
| Docker Compose | Run a `nwaku` node with Docker Compose | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) |
|
||||
|
||||
:::tip
|
||||
- If you want to try the latest `nwaku` updates without compiling the binaries, [download the nightly release](https://github.com/waku-org/nwaku/releases/tag/nightly).
|
||||
- You can run `nwaku` binaries and Docker images on cloud service providers like [Google Cloud](https://cloud.google.com/), [Microsoft Azure](https://azure.microsoft.com/), [Amazon Web Services](https://aws.amazon.com/), and [DigitalOcean](https://www.digitalocean.com/).
|
||||
You can run the `nwaku` binaries and Docker images on cloud service providers like [Google Cloud](https://cloud.google.com/), [Microsoft Azure](https://azure.microsoft.com/), [Amazon Web Services](https://aws.amazon.com/), and [DigitalOcean](https://www.digitalocean.com/).
|
||||
:::
|
||||
|
||||
## Run the Node
|
||||
|
||||
Once you have built the `nwaku` node, run it using the [default configuration](/guides/reference/node-config-methods#default-configuration-values):
|
||||
Once you have gotten the `nwaku` binary, run it using the [default configuration](/guides/reference/node-config-methods#default-configuration-values):
|
||||
|
||||
```bash
|
||||
# Run with default configuration
|
||||
@ -110,7 +116,7 @@ You can find the addresses of a running node through its logs or by calling the
|
||||
When starting the node, `nwaku` will display all the public listening and discovery addresses at the `INFO` log level.
|
||||
:::
|
||||
|
||||
### Listening Address(es)
|
||||
### Listening Addresses
|
||||
|
||||
Look for the log entry that begins with `Listening on`, for example:
|
||||
|
||||
@ -126,7 +132,7 @@ INF 2023-06-15 16:09:54.448+01:00 Listening on top
|
||||
/ip4/0.0.0.0/tcp/8000/ws/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn
|
||||
```
|
||||
|
||||
### Discoverable ENR Address(es)
|
||||
### Discoverable ENR Addresses
|
||||
|
||||
A `nwaku` node can encode its addressing information in an [Ethereum Node Record (ENR)](https://eips.ethereum.org/EIPS/eip-778) following the [WAKU2-ENR](https://rfc.vac.dev/spec/31/) specification, primarily for peer discovery.
|
||||
|
||||
|
@ -58,6 +58,10 @@ Mostly offline devices refer to clients who spend most of their time offline or
|
||||
|
||||
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.
|
||||
|
||||
### Node Key
|
||||
|
||||
A node key is a [Secp256k1](https://en.bitcoin.it/wiki/Secp256k1) (64 char hex string) private key for generating a Waku node public [listening](#transport) and [discovery](#peer-discovery) address.
|
||||
|
||||
### Payload
|
||||
|
||||
The payload field in a [Waku Message](#waku-message) contains the application data, serving as the business logic message transmitted between clients over Waku. Applications can encrypt the payload or employ encryption methods specified in [Waku Message Payload Encryption](#waku-message-payload-encryption).
|
||||
|
@ -63,7 +63,9 @@ def extract_config(config_path: str) -> str:
|
||||
if line.startswith("defaultValue:"):
|
||||
default_value = re.split("defaultValue: ", line)[1].strip()
|
||||
if '""' not in default_value:
|
||||
default_value = f"`{remove_extra_char(default_value, ',')}`".replace('"', "")
|
||||
default_value = f"`{remove_extra_char(default_value, ',')}`".replace("@", "")
|
||||
if "[" not in default_value:
|
||||
default_value = default_value.replace('"', "")
|
||||
if "ValidIpAddress.init" in default_value:
|
||||
default_value = default_value.replace("ValidIpAddress.init(", "").replace(")", "")
|
||||
row["default"] = default_value
|
||||
|
Loading…
x
Reference in New Issue
Block a user