From bd00ccafdffed3cde4f47a017be7f4ad4a5f3b09 Mon Sep 17 00:00:00 2001 From: serinko <97586125+serinko@users.noreply.github.com> Date: Thu, 24 Oct 2024 11:35:26 +0200 Subject: [PATCH] address review comments --- .../docs/pages/operators/changelog.mdx | 86 +++++++++---------- .../community-counsel/landing-pages.mdx | 2 +- .../docs/pages/operators/introduction.mdx | 8 +- .../pages/operators/nodes/maintenance.mdx | 5 +- .../nymvisor-configuration.mdx | 3 +- .../docs/pages/operators/nodes/nym-node.mdx | 6 +- .../pages/operators/nodes/nym-node/setup.mdx | 6 +- .../nodes/performance-and-testing.mdx | 5 +- .../operators/nodes/preliminary-steps.mdx | 5 +- .../docs/pages/operators/sandbox.mdx | 4 +- .../tokenomics/validator-rewards.mdx | 2 +- .../pages/operators/troubleshooting/nodes.mdx | 10 +-- 12 files changed, 69 insertions(+), 73 deletions(-) diff --git a/documentation/docs/pages/operators/changelog.mdx b/documentation/docs/pages/operators/changelog.mdx index cb0c8f3744..dda6cc7e6e 100644 --- a/documentation/docs/pages/operators/changelog.mdx +++ b/documentation/docs/pages/operators/changelog.mdx @@ -27,7 +27,7 @@ export const CiConfig = () => ( # Changelog -This page displays a full list of all the changes during our release cycle from [`v2024.3-eclipse`](https://github.com/nymtech/nym/blob/nym-binaries-v2024.3-eclipse/CHANGELOG.md) onwards. Operators can find here the newest updates together with links to relevant documentation. The list is sorted so that the newest changes appear first. +This page displays a full list of all the changes during our release cycle from `v2024.3-eclipse` onwards. Operators can find here the newest updates together with links to relevant documentation. The list is sorted so that the newest changes appear first. @@ -38,7 +38,7 @@ This page displays a full list of all the changes during our release cycle from - [`nym-node`](nodes/nym-node.mdx) version `1.1.9` ```sh -nym-node +nym-node Binary Name: nym-node Build Timestamp: 2024-10-17T08:57:52.525093253Z Build Version: 1.1.9 @@ -54,12 +54,12 @@ cargo Profile: release - [Rust sdk stream abstraction](https://github.com/nymtech/nym/pull/4743): Starting to move this from being standalone binaries (as seen [here](https://github.com/nymtech/nym-zcash-grpc-demo)) into the sdk. EDIT this has sort of expanded a bit to include a few things: - [x] simple example - - [x] example doc to `src/tcp_proxy.rs` + - [x] example doc to `src/tcp_proxy.rs` - [x] simple echo server in `tools/` - [x] multithread example - [x] example to sdk for using different network - [x] go ffi for proxies - + - [Build(deps): bump `toml` from `0.5.11` to `0.8.14`](https://github.com/nymtech/nym/pull/4805): [`toml`](https://github.com/toml-rs/toml) version update }> @@ -67,7 +67,7 @@ cargo Profile: release - Ensured that updating the cargo.toml file and restarting the given binary continues to behave as normal. -- [Use `serde` from workspace](https://github.com/nymtech/nym/pull/4833): cargo autoinherit for `serde` - cargo autoinherit for `bs58` and `vergen` in `cosmwasm-smart-contracts` +- [Use `serde` from workspace](https://github.com/nymtech/nym/pull/4833): cargo autoinherit for `serde` - cargo autoinherit for `bs58` and `vergen` in `cosmwasm-smart-contracts` - [Gateway database modifications for different modes](https://github.com/nymtech/nym/pull/4868): As gateway clients will not be solely from the mixnet, we need to split the table that handles shared keys from the client ids that are referenced from other tables. That way, the bandwidth table can be shared between different client types (entry mixnet, entry gateway, exit gateway), using the same `client_id` referencing. @@ -75,7 +75,7 @@ cargo Profile: release - [Chore: remove queued migration for adding explicit admin](https://github.com/nymtech/nym/pull/4871) -- [Allow clients to send stateless gateway requests without prior registration](https://github.com/nymtech/nym/pull/4873): in order to make changes to the registration/authentication procedure we needed a way of extracting protocol information before undergoing the handshake. +- [Allow clients to send stateless gateway requests without prior registration](https://github.com/nymtech/nym/pull/4873): in order to make changes to the registration/authentication procedure we needed a way of extracting protocol information before undergoing the handshake. - [Fix sql `serde` with `enum`](https://github.com/nymtech/nym/pull/4875) @@ -88,10 +88,10 @@ cargo Profile: release - For the following combinations I inited the client, ran the client, stopped the client, and ran the client again: - Fresh client on new binary && gateway on old binary - Fresh client on old binary && gateway on new binary -- Fresh client on new binary && gateway new binary -- Existing old client on old binary & new gateway +- Fresh client on new binary && gateway new binary +- Existing old client on old binary & new gateway - + - [Build and Push CI](https://github.com/nymtech/nym/pull/4887) - [Entry wireguard tickets](https://github.com/nymtech/nym/pull/4888): Note: The behaviour of the nodes and vpn client (as a test) has not changed, it still works as it used to. Obtaining ticketbooks also is unchanged @@ -102,7 +102,7 @@ cargo Profile: release - [Remove clippy github PR annotations](https://github.com/nymtech/nym/pull/4896): It eats up CI resources and time to run the clippy annotation checks that likely no one uses anyway. We keep the clippy checks of course. -- [Fix clippy for beta toolchain](https://github.com/nymtech/nym/pull/4897): +- [Fix clippy for beta toolchain](https://github.com/nymtech/nym/pull/4897): - [Update cargo deny](https://github.com/nymtech/nym/pull/4901): Update to use latest `cargo-deny`. Here are the steps done: - Regenerate `deny.toml` @@ -139,7 +139,7 @@ psql -U youruser -d yourdb - [Expose error type](https://github.com/nymtech/nym/pull/4924) -- [Make ip-packet-request VERSION pub](https://github.com/nymtech/nym/pull/4925) +- [Make ip-packet-request VERSION pub](https://github.com/nymtech/nym/pull/4925) - [Assume offline mode](https://github.com/nymtech/nym/pull/4926) @@ -161,7 +161,7 @@ psql -U youruser -d yourdb #### Documentation Updates -- [Update FAQ sphinx size](https://github.com/nymtech/nym/pull/4946): This PR upgrades url to our code base sphinx creation from an outdated branch to develop. +- [Update FAQ sphinx size](https://github.com/nymtech/nym/pull/4946): This PR upgrades url to our code base sphinx creation from an outdated branch to develop. #### Fast & Furious - WireGuard edition @@ -169,7 +169,7 @@ Nym team started another round of load and speed testing. This time the tests ar Over past week we ran a total of three tests, with 450 clients at most. We've managed to push around 300 GB in total. Around 50% of requests failed. Over the course of those three tests, we did about 5000 requests, and bandwidth per client varies between 50Mb/s and 150Mb/s. -We already caught two bugs and [fixed](https://github.com/nymtech/nym/pull/4885) it in this release. +We already caught two bugs and [fixed](https://github.com/nymtech/nym/pull/4885) it in this release. **The faster the operators upgrade to this [latest release](https://github.com/nymtech/nym/releases/tag/nym-binaries-v2024.12-aero), the better**. A that will allow us to do more precise testing through the nodes without the registry bug, leading to more precise specs for `nym-node`. @@ -184,7 +184,7 @@ Here are the aims of these tests: 4. Raw data record 5. Increase quality of Nym Nodes -Meanwhile we started to research pricing of stronger servers with unlimited bandwidth and higher (and stable) port speed, to arrive to a better understanding of needed rewards and grants to bootstrap the network before NymVPN launch. +Meanwhile we started to research pricing of stronger servers with unlimited bandwidth and higher (and stable) port speed, to arrive to a better understanding of needed rewards and grants to bootstrap the network before NymVPN launch. More info about testing and tools for performance monitoring can be found in [this chapter](testing/performance.md). @@ -192,7 +192,7 @@ More info about testing and tools for performance monitoring can be found in [th #### Delegation Program -In October we again proceeded with our Delegation Program. 22 nodes didn't meet the program rules and got their delegation removed and 25 nodes from the que received delegation. Below is a complete list. +In October we again proceeded with our Delegation Program. 22 nodes didn't meet the program rules and got their delegation removed and 25 nodes from the que received delegation. Below is a complete list.
@@ -282,7 +282,7 @@ cargo Profile: release - [New Network Monitor](https://github.com/nymtech/nym/pull/4610): Monitors the Nym network by sending itself packages across the mixnet. Network monitor is running two tokio tasks, one manages mixnet clients and another manages monitoring itself. Monitor is designed to be driven externally, via an `HTTP api`. This means that it does not do any monitoring unless driven by something like [`locust`](https://locust.io/). This allows us to tailor the load externally, potentially distributing it across multiple monitors. Includes a dockerised setup for automatically spinning up monitor and driving it with locust. - *Note: NNM is not deployed on mainnet yet!* - + - [Add get_mixnodes_described to validator_client](https://github.com/nymtech/nym/pull/4725) - [Remove deprecated mark_as_success and use new disarm](https://github.com/nymtech/nym/pull/4751): Update function name to keep terminology consistent with tokio `CancellationToken DropGuard`. @@ -292,9 +292,9 @@ cargo Profile: release - **Noted** that the constants `DEFAULT_PEER_TIMEOUT` and `DEFAULT_PEER_TIMEOUT_CHECK` have been moved to `common/wireguard-types/src/lib.rs` and are now being used across modules for consistency - **Observed** that the `peer_controller.rs` now separates the in-memory updates from the storage sync operations to reduce system load - **Identified** that in-memory updates of peer bandwidth usage happen every `DEFAULT_PEER_TIMEOUT_CHECK` (every 5 seconds), while storage updates occur every 5 * `DEFAULT_PEER_TIMEOUT_CHECK` (every 25 seconds) - + **Checked System Load and Performance:** - + - **Monitored** system resource usage (CPU, memory, I/O) during the test to assess the impact of the changes - **Confirmed** that the separation of in-memory updates and storage syncs resulted in reduced system load, particularly I/O operations, compared to previous versions where storage updates occurred more frequently - **Ensured** that the system remained responsive and no performance bottlenecks were introduced @@ -306,7 +306,7 @@ cargo Profile: release - [Make gateway latency check generic](https://github.com/nymtech/nym/pull/4759): Replace concrete gateway type with trait in latency check, so we can make use of it in the vpn client. }> -- Initialised new `nym-client` with the `--latency-based-selection` flag and ensured it still works as normal. +- Initialised new `nym-client` with the `--latency-based-selection` flag and ensured it still works as normal. - [chore: remove repetitive words](https://github.com/nymtech/nym/pull/4763) @@ -315,20 +315,20 @@ cargo Profile: release }> 1. - **Checked out** the release/2024.10-wedel branch containing the fix for the race condition on IP and registration structures - **Deployed** the on a controlled test environment to prevent interference - + 2. **Monitored Logs:** - **Enabled** debug logging to capture all events - **Monitored** logs in real-time to observe the handling of concurrent registration requests - **Checked** for any error messages, warnings, or indications of race conditions - + 3. **Verified Client Responses:** - + - Ensured that all clients received appropriate responses: - Successful registration with assigned IP and registration data - Appropriate error messages if no IPs were available or if other issues occurred - Confirmed that no clients were left in an inconsistent state (e.g., assigned an IP but not fully registered) - + 4. **Validated Normal Operation:** - **Conducted standard registration processes** with individual clients to confirm that regular functionality is unaffected via `nym-vpn-cli` - Ensured that authenticated clients could communicate over the network as expected @@ -340,20 +340,20 @@ cargo Profile: release - [Fix clippy for `unwrap_or_default`](https://github.com/nymtech/nym/pull/4783): Fix nightly build for [beta toolchain](https://github.com/nymtech/nym/actions/runs/10552082396/job/29230401668) -- [Update dependabot](https://github.com/nymtech/nym/pull/4796): Bump max number of dependabot rust PRs to 10. Add readme entry to workspace package. +- [Update dependabot](https://github.com/nymtech/nym/pull/4796): Bump max number of dependabot rust PRs to 10. Add readme entry to workspace package. -- [Run `cargo-autoinherit` for a few new crates](https://github.com/nymtech/nym/pull/4801): Run cargo-autoinherit for a few new crates - Sort crates list. +- [Run `cargo-autoinherit` for a few new crates](https://github.com/nymtech/nym/pull/4801): Run cargo-autoinherit for a few new crates - Sort crates list. -- [Add `axum` server to `nym-api`](https://github.com/nymtech/nym/pull/4803): Summary PR to add axum functionality behind a feature flag `axum`, alongside rocket. +- [Add `axum` server to `nym-api`](https://github.com/nymtech/nym/pull/4803): Summary PR to add axum functionality behind a feature flag `axum`, alongside rocket. - [Remove unused wireguard flag from SDK](https://github.com/nymtech/nym/pull/4823) -- [Expose wireguard details on self described endpoint](https://github.com/nymtech/nym/pull/4825) +- [Expose wireguard details on self described endpoint](https://github.com/nymtech/nym/pull/4825) }> -Wireguard details are now visible at the nym-node endpoint `/api/v1/gateway/client-interfaces` as well as on the nym-api self-described endpoint `/api/v1/gateways/described`, above the existing data displaying mixnet_websocket information. - -An example of what will be shown is: +Wireguard details are now visible at the nym-node endpoint `/api/v1/gateway/client-interfaces` as well as on the nym-api self-described endpoint `/api/v1/gateways/described`, above the existing data displaying mixnet_websocket information. + +An example of what will be shown is: ```json "wireguard": { "port": 51822, @@ -364,9 +364,9 @@ An example of what will be shown is: - [Revamped ticketbook serialisation and exposed additional cli methods](https://github.com/nymtech/nym/pull/4827): `wip` branch that includes changes needed for `vpn-api` alongside additional `ecash utils` }> -Checked the following commands: +Checked the following commands: ```sh -show-ticket-books # which displays the information about all ticketbooks associated to the client +show-ticket-books # which displays the information about all ticketbooks associated to the client import-ticket-book # which imports a normal ticketbook to the client alongside `--full` flag ``` @@ -378,7 +378,7 @@ On the cli, the following were added: `import-coin-index-signatures`, `import-ex - [Remove serde_crate named import](https://github.com/nymtech/nym/pull/4832) - [Create nym-repo-setup debian package and nym-vpn meta package](https://github.com/nymtech/nym/pull/4837): Create nym-repo-setup debian package that sets up the nymtech debian repo on the system it's installed on. It does 2 things: - + 1. Copy the keyring to `/usr/share/keyrings/nymtech.gpg` 2. Copy the repo spec to `/etc/apt/sources.list.d/nymtech.list` - Also create a meta package `nym-vpn` which only purpose is to depend on the daemon and UI. @@ -403,27 +403,27 @@ NOTE: removing the repo will not remove any installed nym-vpn packages }> 1. **Downloaded** the `nym-repo-setup.deb` package to a Debian-based test system - -2. **Installed** the repository setup package using the command: + +2. **Installed** the repository setup package using the command: ```bash sudo dpkg -i ./nym-repo-setup.deb ``` - + 3. **Verified** that the GPG keyring was copied to `/usr/share/keyrings/nymtech.gpg`: ```bash ls -l /usr/share/keyrings/nymtech.gpg ``` - + 4. **Checked** that the repository specification was added to `/etc/apt/sources.list.d/nymtech.list`: ```bash cat /etc/apt/sources.list.d/nymtech.list ``` - + 5. **Updated** the package list: ```bash sudo apt update ``` - + 6. **Installed** the VPN client meta-package: ```bash sudo apt install nym-vpnc @@ -432,14 +432,14 @@ sudo apt install nym-vpnc 7. **Confirmed** that the `nym-vpnc` package and its dependencies (daemon and UI) were installed successfully 8. **Tested** the VPN client to ensure it operates as expected - + 9. **Removed** the repository setup package: ```bash sudo apt remove nym-repo-setup ``` 10. **Verified** that the repository specification file `/etc/apt/sources.list.d/nymtech.list` was removed - + 11. **Ensured** that the installed `nym-vpnc` packages remained installed and functional after removing the repo setup package @@ -489,12 +489,12 @@ sudo apt remove nym-repo-setup - [Bugfix/ticketbook false double spending](https://github.com/nymtech/nym/pull/4892) }> -Tested running a client in mixnet mode, with a standard ticketbook, as well as a client using an imported ticketbook. The double spending bug is no longer an issue, bandwidth is consumed properly, and upon consumption of one ticket another ticket is properly obtained. +Tested running a client in mixnet mode, with a standard ticketbook, as well as a client using an imported ticketbook. The double spending bug is no longer an issue, bandwidth is consumed properly, and upon consumption of one ticket another ticket is properly obtained. ### Operators Guide, Tooling & Updates -- [WSS setup guide updates](https://github.com/nymtech/nym/commit/05d6652177fb77324f8c38b3d8a547d07e729fec): Operators setting up WSS and reverse proxy on Gateways have now cleaner and simpler guide to configure their VPS. +- [WSS setup guide updates](https://github.com/nymtech/nym/commit/05d6652177fb77324f8c38b3d8a547d07e729fec): Operators setting up WSS and reverse proxy on Gateways have now cleaner and simpler guide to configure their VPS. - [Updat hostname instruction for WSS](https://github.com/nymtech/nym/commit/7146c4c012ba7012dc74edc8510bbf377dc32fba): Adding a hostname instruction for clarity diff --git a/documentation/docs/pages/operators/community-counsel/landing-pages.mdx b/documentation/docs/pages/operators/community-counsel/landing-pages.mdx index 9a1311a6ae..bdc65c3222 100644 --- a/documentation/docs/pages/operators/community-counsel/landing-pages.mdx +++ b/documentation/docs/pages/operators/community-counsel/landing-pages.mdx @@ -10,4 +10,4 @@ The entire content of this page is under [Creative Commons Attribution 4.0 Inter Exit Gateway landing page is a great and transparent way to prevent possible troubles by providing people with basic facts, links to laws and regulations on a given topic as well as operator's contact info. To inspire each other we share some examples how Nym community handled this issue below. -Initiated by an amazing pull request from Avril 14th we made a complete guide to setup landing page behind [reverse proxy and Web Secure Socket](../nodes/nym-node/proxy-configuration.mdx) for Nym Nodes. +Initiated by an amazing pull request from Avril 14th we made a complete guide to setup landing page behind [reverse proxy and Web Secure Socket](../nodes/nym-node/configuration/proxy-configuration.mdx) for Nym Nodes. diff --git a/documentation/docs/pages/operators/introduction.mdx b/documentation/docs/pages/operators/introduction.mdx index 6390ca9181..90edc25f5d 100644 --- a/documentation/docs/pages/operators/introduction.mdx +++ b/documentation/docs/pages/operators/introduction.mdx @@ -28,10 +28,10 @@ If you want to dive deeper into Nym's architecture, clients, nodes, and SDK exam **Node setup and usage guides:** -* [Nym Node](nodes/nym-node.mdx) -* [Nymvisor](nodes/nymvisor-upgrade.mdx) +* [Nym Node](nodes/nym-node/nym-node.mdx) +* [Nymvisor](nodes/maintenance/nymvisor-upgrade.mdx) * [Validators](nodes/validator-setup.mdx) -* [Nym API Setup](nodes/nym-api.mdx) +* [Nym API Setup](nodes/validator-setup/nym-api.mdx) **Maintenance, troubleshooting and FAQ** @@ -47,4 +47,4 @@ If you want to dive deeper into Nym's architecture, clients, nodes, and SDK exam **Archive** -*[FAQ: Project Smoosh](archive/faq-smoosh-faq.mdx) +*[FAQ: Project Smoosh](archive/faq/smoosh-faq.mdx) diff --git a/documentation/docs/pages/operators/nodes/maintenance.mdx b/documentation/docs/pages/operators/nodes/maintenance.mdx index 0cc2b99a5c..fa686f906c 100644 --- a/documentation/docs/pages/operators/nodes/maintenance.mdx +++ b/documentation/docs/pages/operators/nodes/maintenance.mdx @@ -104,7 +104,7 @@ Anything can happen to the server on which your node is running. To back up your 1. Node keys to initialise the same node on a new VPS 2. Access to the bonding Nym account (wallet seeds) to edit the IP on smart contract -Assuming that everyone access their wallets from local machine and does *not* store their seeds on VPS, point 2. should be a given. +Assuming that everyone access their wallets from local machine and does *not* store their seeds on VPS, point 2. should be a given. To backup your `nym-node` keys and configuration in the easiest way possible, copy the entire config directory `.nym` from your VPS to your local desktop, using a special copy command `scp`: @@ -220,7 +220,7 @@ scp -r -3 @:/etc/systemd/system/nym-node. Local node identifier, denoted as `` accross the documentation (not the identity key) is a name chosen by operators which defines where the nodes configuration data will be stored, where the ID determines the path to `~/.nym/nym-nodes//`. This ID is never shared on the network. -When running a [`nym-node`](nym-nodes/nym-node.md), a local identifier specified with a flag `--ID ` is no longer necessary. Nodes without a specified ID will be assigned a default ID `default-nym-node`. This streamlines node management, particularly for operators handling multiple nodes via ansible and other automation scripts, as all data is stored at `~/.nym/nym-nodes/default-nym-node`. +When running a [`nym-node`](nym-node/nym-node.mdx), a local identifier specified with a flag `--ID ` is no longer necessary. Nodes without a specified ID will be assigned a default ID `default-nym-node`. This streamlines node management, particularly for operators handling multiple nodes via ansible and other automation scripts, as all data is stored at `~/.nym/nym-nodes/default-nym-node`. If you already operate a `nym-node` and wish to change the local ID to `default-nym-node` or anything else, follow the steps below to do so. @@ -302,4 +302,3 @@ All validator-specific port configuration can be found in `$HOME/.nymd/config/co | 1317 | REST API server endpoint | | 26656 | Listen for incoming peer connections | | 26660 | Listen for Prometheus connections | - diff --git a/documentation/docs/pages/operators/nodes/maintenance/nymvisor-upgrade/nymvisor-configuration.mdx b/documentation/docs/pages/operators/nodes/maintenance/nymvisor-upgrade/nymvisor-configuration.mdx index 20b000959a..3863c379d2 100644 --- a/documentation/docs/pages/operators/nodes/maintenance/nymvisor-upgrade/nymvisor-configuration.mdx +++ b/documentation/docs/pages/operators/nodes/maintenance/nymvisor-upgrade/nymvisor-configuration.mdx @@ -10,7 +10,7 @@ import { Steps } from 'nextra/components'; ## Nymvisor Automation with `systemd` -This section contains guide how to setup `systemd` automation for Nymvisor. If you are looking for other chapters, visit these pages: [VPS setup](../preliminrary-steps/vps-setup.mdx), advanced terminal tools like [tmux and nohup setup](../nym-node/configuration.mdx#vps-setup-and-automation), [`nym-node` automation](../nym-node/configuration.mdx#systemd) or [`validator` automation](../validator-setup/nyx-configuration#automation). +This section contains guide how to setup `systemd` automation for Nymvisor. If you are looking for other chapters, visit these pages: [VPS setup](../../../preliminrary-steps/vps-setup.mdx), advanced terminal tools like [tmux and nohup setup](../../nym-node/configuration.mdx#vps-setup-and-automation), [`nym-node` automation](../../nym-node/configuration.mdx#systemd) or [`validator` automation](../../validator-setup/nyx-configuration#automation). Since you're planning to run your node via a Nymvisor instance, as well as creating a Nymvisor `.service` file, you will also want to **stop any previous node automation process you already have running**. @@ -96,4 +96,3 @@ service nymvisor restart This lets your operating system know it's ok to reload the service configuration and restarts the node in a graceful way. - diff --git a/documentation/docs/pages/operators/nodes/nym-node.mdx b/documentation/docs/pages/operators/nodes/nym-node.mdx index b4454c7777..33ef5ad2e7 100644 --- a/documentation/docs/pages/operators/nodes/nym-node.mdx +++ b/documentation/docs/pages/operators/nodes/nym-node.mdx @@ -5,7 +5,7 @@ import { VarInfo } from 'components/variable-info.tsx' NYM NODE is a tool for running a node within the Nym network. Nym Nodes containing functionality such as `mixnode`, `entry-gateway` and `exit-gateway` are fundamental components of Nym Mixnet architecture. Nym Nodes are ran by decentralised node operators. -To setup any type of Nym Node, start with either building [Nym's platform](../binaries/building-nym.md) from source or download [pre-compiled binaries](../binaries/pre-built-binaries.md) on the [configured server (VPS)](vps-setup.md) where you want to run the node. Your Nym Node will need to be bonded before it can be run. We recommend most users use the [Nym desktop wallet](wallet-preparation.md) for this. +To setup any type of Nym Node, start with either building [Nym's platform](../binaries/building-nym.mdx) from source or download [pre-compiled binaries](../binaries/pre-built-binaries.mdx) on the [configured server (VPS)](preliminary-steps/vps-setup.mdx) where you want to run the node. Your Nym Node will need to be bonded before it can be run. We recommend most users use the [Nym desktop wallet](preliminary-steps/wallet-preparation.mdx) for this. **Follow [preliminary steps](preliminary-steps.mdx) page before you configure and run a `nym-node`!** @@ -13,12 +13,12 @@ To setup any type of Nym Node, start with either building [Nym's platform](../bi Once [VPS and Nym wallet are configured](preliminary-steps.mdx), binaries ready, the operators of `nym-node` need to: -1. **[Setup](nym-nde/setup.mdx) the node** +1. **[Setup](nym-node/setup.mdx) the node** 2. **[Configure](nym-node/configuration.mdx) the node and optionally automation, Wireguard, WSS, reversed proxy ...** 3. **[Run](nym-node/setup.mdx#initialise--run) the node or [the service](nym-node/configuration.md#systemd)** -4. **[Bond](nym-node/bonding.md) the node to the Nym API, using Nym wallet** +4. **[Bond](nym-node/bonding.mdx) the node to the Nym API, using Nym wallet** Make sure to follow the steps thoroughly, in case you find any point difficult don't hesitate to ask in our [Operators channel](https://matrix.to/#/#operators:nymtech.chat). diff --git a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx index 0b5ca1ef9e..045e9cc55c 100644 --- a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx +++ b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx @@ -10,7 +10,7 @@ import { AccordionTemplate } from 'components/accordion-template.tsx'; # Nym Node Setup & Run -This documentation page provides a guide on how to set up and run a [NYM NODE](nym-node.md), along with explanations of available flags, commands, and examples. +This documentation page provides a guide on how to set up and run a [NYM NODE](../nym-node.mdx), along with explanations of available flags, commands, and examples. ## Current version @@ -152,7 +152,7 @@ In such case, you can `run` a node to initalise it or try if everything works, b ### Migrate -Migration is a must for all deprecated nodes (`nym-mixnode`, `nym-gateway`). For backward compatibility we created an [archive section](../archive/nodes/setup-guides.md) with all the guides for individual binaries. However, the binaries from version 1.1.35 (`nym-gateway`) and 1.1.37 (`nym-mixnode`) onwards will no longer have `init` command. +Migration is a must for all deprecated nodes (`nym-mixnode`, `nym-gateway`). These binaries from version 1.1.35 (`nym-gateway`) and 1.1.37 (`nym-mixnode`) onwards will no longer have `init` command and `nym-node` is the only binary to use for `gateway` or `mixnode` fucntionalities. **Nym cannot promise 100% serialisation for operators migrating from long outdated versions to the newest ones. If you are about to migrate, start with [`nym-node v1.1.0`](https://github.com/nymtech/nym/releases/tag/nym-binaries-v2024.3-eclipse) and keep upgrading version by version all the way to the latest one.** @@ -169,4 +169,4 @@ Make sure to use `--deny-init` flag to prevent initialisation of a new node. If there are any problems checkout the troubleshooting section or report an issue. -Follow up with [configuration](configuration.md) page for automation, reversed proxy setup and other tweaks, then head straight to [bonding](bonding.md) page to finalise your setup. +Follow up with [configuration](configuration.mdx) page for automation, reversed proxy setup and other tweaks, then head straight to [bonding](bonding.mdx) page to finalise your setup. diff --git a/documentation/docs/pages/operators/nodes/performance-and-testing.mdx b/documentation/docs/pages/operators/nodes/performance-and-testing.mdx index 558587820e..2246a76a9d 100644 --- a/documentation/docs/pages/operators/nodes/performance-and-testing.mdx +++ b/documentation/docs/pages/operators/nodes/performance-and-testing.mdx @@ -16,8 +16,8 @@ There are multiple ways to monitor performance of nodes and the machines on whic A list of different scripts, templates and guides for easier navigation: -* [`nym-gateway-probe`](gateway-probe.md) - a useful tool used under the hood of [harbourmaster.nymtech.net](https://harbourmaster.nymtech.net) -* [Prometheus and Grafana](prometheus-grafana.md) self-hosted setup +* [`nym-gateway-probe`](perfomance-and-testing/gateway-probe.mdx) - a useful tool used under the hood of [harbourmaster.nymtech.net](https://harbourmaster.nymtech.net) +* [Prometheus and Grafana](performance-and-testing/prometheus-grafana.mdx) self-hosted setup * [Nym-node CPU cron service](https://gist.github.com/tommyv1987/97e939a7adf491333d686a8eaa68d4bd) - an easy bash script by Nym core developer [@tommy1987](https://gist.github.com/tommyv1987), designed to monitor a CPU usage of your node, running locally * Nym's script [`prom_targets.py`](https://github.com/nymtech/nym/blob/develop/scripts/prom_targets.py) - a useful python program to request data from API and can be run on its own or plugged to more sophisticated flows @@ -45,4 +45,3 @@ We do testing in order to **understand and increase the overall quality of the N 7. Adjust rewarding based on the machine specs and server pricing Visit [Nym Harbour Master](https://harbourmaster.nymtech.net/) monitoring page to monitor network components (nodes) performance. - diff --git a/documentation/docs/pages/operators/nodes/preliminary-steps.mdx b/documentation/docs/pages/operators/nodes/preliminary-steps.mdx index 96d6c206ce..178d5746ca 100644 --- a/documentation/docs/pages/operators/nodes/preliminary-steps.mdx +++ b/documentation/docs/pages/operators/nodes/preliminary-steps.mdx @@ -4,8 +4,7 @@ There are a couple of steps that need completing before starting to set up your `nym-node`: -1. **[Prepare your wallet](preliminary-steps/wallet-preparation.md):** [desktop](https://nymtech.net/docs/wallet/desktop-wallet.html) or [CLI](https://nymtech.net/docs/wallet/cli-wallet.html). -2. **[Requisition and setup a VPS](preliminary-steps/vps-setup.md)** (Virtual Private Server) +1. **[Prepare your wallet](preliminary-steps/wallet-preparation.mdx):** [desktop](https://nymtech.net/docs/wallet/desktop-wallet.html) or [CLI](../../developers/tools/nym-cli/commands.mdx). +2. **[Requisition and setup a VPS](preliminary-steps/vps-setup.mdx)** (Virtual Private Server) Make sure to follow these steps carefully as it prevents a lot of troubleshooting later on. - diff --git a/documentation/docs/pages/operators/sandbox.mdx b/documentation/docs/pages/operators/sandbox.mdx index 159021c62f..a39ca790c7 100644 --- a/documentation/docs/pages/operators/sandbox.mdx +++ b/documentation/docs/pages/operators/sandbox.mdx @@ -9,7 +9,7 @@ Nym node operators can run their nodes in Nym Sandbox testnet environment. Wheth Below are steps to [setup your environment](#sandbox-environment-setup) and an introduction to [Sandbox token faucet](#sandbox-token-faucet). -This page is for Nym node operators. If you want to run NymVPN CLI over Sandbox testnet, visit [Nym Developers portal](https://nymtech.net/docs/developers/nymvpn/cli.html#testnet-environment). +This page is for Nym node operators. If you want to run NymVPN CLI over Sandbox testnet, visit [NymVPN CLI Testnet guide](https://nym-vpn-cli.sandbox.nymtech.net/). ## Sandbox Environment Setup @@ -49,7 +49,7 @@ curl -o sandbox.env -L https://raw.githubusercontent.com/nymtech/nym/develop/env ###### 3. Bond your node to Nym Sandbox environment - Open [Nym Wallet](https://nymtech.net/download/wallet) and switch to testnet - Go to [faucet.nymtech.net](https://faucet.nymtech.net) and aquire 101 testnet NYM tokens -- Follow the steps on the [bonding page](nodes/bonding.mdx) +- Follow the steps on the [bonding page](nodes/nym-node/bonding.mdx) ![](/images/operators/sandbox.png) diff --git a/documentation/docs/pages/operators/tokenomics/validator-rewards.mdx b/documentation/docs/pages/operators/tokenomics/validator-rewards.mdx index fb565b8ea9..72c3cabdef 100644 --- a/documentation/docs/pages/operators/tokenomics/validator-rewards.mdx +++ b/documentation/docs/pages/operators/tokenomics/validator-rewards.mdx @@ -16,7 +16,7 @@ import { TimeNow } from 'components/time-now.tsx'; * Nyx Validators are rewarded in NYM tokens from the Nym mixmining pool and increasingly from apps that run on the Nym mixnet, the first of which is the NymVPN. * Validators are rewarded for two different types of work: signing blocks in the Nyx chain and running the NymAPI to monitor mixnet routing and sign zk-nym credentials. -* New validators can join via a NYM-to-NYX swap contract. The contract will not allow more than 1% of total stake increase per month to prevent sudden hostile takeovers. Current stake is million Nyx. Rate: 1:4.8 ~ 288k NYX for 60k NYM \=\> voting power +* New validators can join via a NYM-to-NYX swap contract after contacting us and getting whitelisted. The contract will not allow more than 1% of total stake increase per month to prevent sudden hostile takeovers. Current stake is million Nyx. Rate: 1:4.8 ~ 288k NYX for 60k NYM \=\> voting power * NYX tokens serve no other purpose than self-delegation for voting power and governance. All rewards are in NYM and distributed directly to the validators self-delegation address and are not distributed to stakers. * The contract will only allow swapping NYM to NYX and will **not** allow exchanging NYX back to NYM. A NYX holder who wishes to sell their NYX stake will have to do so via OTC trades. diff --git a/documentation/docs/pages/operators/troubleshooting/nodes.mdx b/documentation/docs/pages/operators/troubleshooting/nodes.mdx index 988e5fcae3..0bfe8a756d 100644 --- a/documentation/docs/pages/operators/troubleshooting/nodes.mdx +++ b/documentation/docs/pages/operators/troubleshooting/nodes.mdx @@ -32,7 +32,7 @@ We have scripts which automatically include the Git commit hash and Git tag in t What to do? * Follow the instructions in the Binaries section to [build nym from source](../binaries/building-nym.mdx) or [download precompiled binaries](../binaries/pre-build-binaries.mdx) -* To upgrade, follow the [upgrade instructions](../nodes/maintenance/manual-upgrade/mdx) +* To upgrade, follow the [upgrade instructions](../nodes/maintenance/manual-upgrade.mdx) ## General Node Config @@ -104,9 +104,9 @@ First of all check the 'Mixnodes' section of either of the Nym Network Explorers * [Mainnet](https://explorer.nymtech.net/) * [Sandbox testnet](https://sandbox-explorer.nymtech.net/) -You can also check [Nym Harbourmaster](https://harbourmaster.nymtech.net) which now also includes mixnode mode. +You can also check [Nym Harbourmaster](https://harbourmaster.nymtech.net) which now also includes mixnode mode. -There are a few community explorers as well. +There are a few community explorers as well. * [ExploreNYM](https://explorenym.net/) * [Mixplorer](https://mixplorer.xyz/) @@ -319,7 +319,7 @@ Let your Gateway run and follow these steps: -###### 1. Check if your [firewall configuration](../nodes/preliminary-steps/vps-setup.mdx#configure-your-firewall) +###### 1. Check if your [firewall configuration](../nodes/preliminary-steps/vps-setup.mdx#configure-your-firewall) - If `ufw` is active and if the necessary ports are open / allowed, including the ones for Swagger page and Reversed proxy/WSS if this is your case. @@ -365,7 +365,7 @@ If your logs show that your Node has `cover down: 0.00` that means that the embe ###### 6. [Check out if your `syslog`s](vps-isp.mdx#pruning-logs) aren't eating all your disk space and prune them -###### 7. When all problems are addressed: Restart the node service +###### 7. When all problems are addressed: Restart the node service Don't forget `systemctl daemon-reload`) and wait until your node gets above 50% of performance (average of last 24h) - this will likely take 24-48 hours. During this time your node is tested by `nym-api` and every positive response picks up your routing score.