From 4d3d60b78ed6d1cbd29a04faa144eee71293210c Mon Sep 17 00:00:00 2001 From: mfahampshire Date: Mon, 23 Dec 2024 11:51:24 +0000 Subject: [PATCH] tweak format (#5295) * tweak format * auto commit generated command files * auto commit generated command files * push components * edit migration page (#5303) --------- Co-authored-by: import this <97586125+serinko@users.noreply.github.com> --- .../snippets/gateway-migrate-tab-snippet.mdx | 3 +- .../outputs/api-scraping-outputs/time-now.md | 2 +- .../command-outputs/nym-api-build-info.md | 8 +-- .../command-outputs/nym-client-build-info.md | 8 +-- .../nym-client-generate-fig-spec.md | 20 ++++++ .../nym-node-bonding-information.md | 2 +- .../command-outputs/nym-node-build-info.md | 8 +-- .../command-outputs/nym-node-migrate-help.md | 68 +------------------ .../command-outputs/nym-node-migrate.md | 6 ++ .../command-outputs/nym-node-node-details.md | 2 +- .../command-outputs/nym-node-run-help.md | 2 - .../nym-socks5-client-build-info.md | 8 +-- .../nym-socks5-client-generate-fig-spec.md | 20 ++++++ .../command-outputs/nymvisor-build-info.md | 8 +-- documentation/docs/next-env.d.ts | 2 +- .../docs/pages/developers/clients/socks5.mdx | 7 -- .../developers/clients/socks5/commands.mdx | 28 ++++++-- .../developers/clients/socks5/config.mdx | 6 +- .../pages/developers/clients/socks5/setup.mdx | 6 ++ .../pages/developers/clients/socks5/usage.mdx | 6 +- .../developers/clients/webassembly-client.mdx | 2 +- .../developers/clients/websocket/commands.mdx | 28 ++++++-- .../developers/concepts/message-queue.md | 1 + .../pages/developers/concepts/messages.mdx | 1 + .../docs/pages/developers/integrations.mdx | 5 +- .../docs/pages/developers/tools/nym-cli.md | 26 ------- .../pages/developers/tools/nym-cli/_meta.json | 4 ++ .../pages/developers/tools/nym-cli/usage.mdx | 26 +++++++ .../pages/operators/nodes/nym-node/setup.mdx | 11 ++- 29 files changed, 177 insertions(+), 147 deletions(-) create mode 100644 documentation/docs/components/outputs/command-outputs/nym-node-migrate.md create mode 100644 documentation/docs/pages/developers/tools/nym-cli/_meta.json create mode 100644 documentation/docs/pages/developers/tools/nym-cli/usage.mdx diff --git a/documentation/docs/components/operators/snippets/gateway-migrate-tab-snippet.mdx b/documentation/docs/components/operators/snippets/gateway-migrate-tab-snippet.mdx index 101dbca21cc..72dce528ca2 100644 --- a/documentation/docs/components/operators/snippets/gateway-migrate-tab-snippet.mdx +++ b/documentation/docs/components/operators/snippets/gateway-migrate-tab-snippet.mdx @@ -5,7 +5,7 @@ Migrate your `nym-gateway` to `nym-node --mode entry-gateway` or `--mode exit-ga ###### 1. Move relevant info from `config.toml` ```sh -./nym-node migrate --config-file ~/.nym/gateways//config/config.toml gateway +./nym-node migrate --config-file ~/.nym/gateways//config/config.toml gateway ``` ###### 2. Initialise with new `nym-node` config chosing one of the options below: @@ -19,5 +19,6 @@ Migrate your `nym-gateway` to `nym-node --mode entry-gateway` or `--mode exit-ga ```sh ./nym-node run --id --mode exit-gateway --public-ips "$(curl -4 https://ifconfig.me)" --hostname --http-bind-address 0.0.0.0:8080 --mixnet-bind-address 0.0.0.0:1789 --location --accept-operator-terms-and-conditions --wireguard-enabled true ``` + diff --git a/documentation/docs/components/outputs/api-scraping-outputs/time-now.md b/documentation/docs/components/outputs/api-scraping-outputs/time-now.md index f3566e41d55..f6b75163808 100644 --- a/documentation/docs/components/outputs/api-scraping-outputs/time-now.md +++ b/documentation/docs/components/outputs/api-scraping-outputs/time-now.md @@ -1 +1 @@ -Monday, December 9th 2024, 19:43:12 UTC +Monday, December 23rd 2024, 11:36:26 UTC diff --git a/documentation/docs/components/outputs/command-outputs/nym-api-build-info.md b/documentation/docs/components/outputs/command-outputs/nym-api-build-info.md index f8b3bc00898..281fabbcdff 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-api-build-info.md +++ b/documentation/docs/components/outputs/command-outputs/nym-api-build-info.md @@ -1,10 +1,10 @@ ```sh Binary Name: nym-api -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.46 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.1.47 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly diff --git a/documentation/docs/components/outputs/command-outputs/nym-client-build-info.md b/documentation/docs/components/outputs/command-outputs/nym-client-build-info.md index e8b6b4e861b..a5a677a4b6e 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-client-build-info.md +++ b/documentation/docs/components/outputs/command-outputs/nym-client-build-info.md @@ -1,10 +1,10 @@ ```sh Binary Name: nym-client -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.44 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.1.45 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly diff --git a/documentation/docs/components/outputs/command-outputs/nym-client-generate-fig-spec.md b/documentation/docs/components/outputs/command-outputs/nym-client-generate-fig-spec.md index 53d1c326d55..a543beb4adb 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-client-generate-fig-spec.md +++ b/documentation/docs/components/outputs/command-outputs/nym-client-generate-fig-spec.md @@ -68,6 +68,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--disable-socket", description: "Whether to not start the websocket", @@ -201,6 +211,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--disable-socket", description: "Whether to not start the websocket", diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-bonding-information.md b/documentation/docs/components/outputs/command-outputs/nym-node-bonding-information.md index 5cda2291e21..aaf52fd051f 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-node-bonding-information.md +++ b/documentation/docs/components/outputs/command-outputs/nym-node-bonding-information.md @@ -1,3 +1,3 @@ ```sh -2024-11-06T12:18:46.723546Z ERROR nym-node/src/config/upgrade_helpers.rs:17: Failed to finish upgrade - failed to load config file using path '/home/m/.nym/nym-nodes/default-nym-node/config/config.toml'. detailed message: No such file or directory (os error 2) +2024-12-18T17:36:27.004764Z ERROR nym-node/src/config/upgrade_helpers.rs:19: Failed to finish upgrade - failed to load config file using path '/home/m/.nym/nym-nodes/default-nym-node/config/config.toml'. detailed message: No such file or directory (os error 2) ``` diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-build-info.md b/documentation/docs/components/outputs/command-outputs/nym-node-build-info.md index 201423087e0..b148794e854 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-node-build-info.md +++ b/documentation/docs/components/outputs/command-outputs/nym-node-build-info.md @@ -1,10 +1,10 @@ ```sh Binary Name: nym-node -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.11 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.2.0 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-migrate-help.md b/documentation/docs/components/outputs/command-outputs/nym-node-migrate-help.md index b040590c2ac..c380336b91a 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-node-migrate-help.md +++ b/documentation/docs/components/outputs/command-outputs/nym-node-migrate-help.md @@ -1,72 +1,8 @@ ```sh Attempt to migrate an existing mixnode or gateway into a nym-node -Usage: nym-node migrate [OPTIONS] <--id |--config-file > - -Arguments: - Type of node (mixnode or gateway) to migrate into a nym-node [possible values: mixnode, gateway] +Usage: nym-node migrate Options: - --id - Id of the node that's going to get migrated - --config-file - Path to a configuration file of the node that's going to get migrated - --preserve-id - Specify whether to preserve id of the imported node - --public-ips - Comma separated list of public ip addresses that will be announced to the nym-api and subsequently to the clients. In nearly all circumstances, it's going to be identical to the address you're going to use for bonding [env: NYMNODE_PUBLIC_IPS=] - --hostname - Optional hostname associated with this gateway that will be announced to the nym-api and subsequently to the clients [env: NYMNODE_HOSTNAME=] - --location - Optional **physical** location of this node's server. Either full country name (e.g. 'Poland'), two-letter alpha2 (e.g. 'PL'), three-letter alpha3 (e.g. 'POL') or three-digit numeric-3 (e.g. '616') can be provided [env: NYMNODE_LOCATION=] - --http-bind-address - Socket address this node will use for binding its http API. default: `0.0.0.0:8080` [env: NYMNODE_HTTP_BIND_ADDRESS=] - --landing-page-assets-path - Path to assets directory of custom landing page of this node [env: NYMNODE_HTTP_LANDING_ASSETS=] - --http-access-token - An optional bearer token for accessing certain http endpoints. Currently only used for prometheus metrics [env: NYMNODE_HTTP_ACCESS_TOKEN=] - --expose-system-info - Specify whether basic system information should be exposed. default: true [env: NYMNODE_HTTP_EXPOSE_SYSTEM_INFO=] [possible values: true, false] - --expose-system-hardware - Specify whether basic system hardware information should be exposed. default: true [env: NYMNODE_HTTP_EXPOSE_SYSTEM_HARDWARE=] [possible values: true, false] - --expose-crypto-hardware - Specify whether detailed system crypto hardware information should be exposed. default: true [env: NYMNODE_HTTP_EXPOSE_CRYPTO_HARDWARE=] [possible values: true, false] - --mixnet-bind-address - Address this node will bind to for listening for mixnet packets default: `0.0.0.0:1789` [env: NYMNODE_MIXNET_BIND_ADDRESS=] - --mixnet-announce-port - If applicable, custom port announced in the self-described API that other clients and nodes will use. Useful when the node is behind a proxy [env: NYMNODE_MIXNET_ANNOUNCE_PORT=] - --nym-api-urls - Addresses to nym APIs from which the node gets the view of the network [env: NYMNODE_NYM_APIS=] - --nyxd-urls - Addresses to nyxd chain endpoint which the node will use for chain interactions [env: NYMNODE_NYXD=] - --wireguard-enabled - Specifies whether the wireguard service is enabled on this node [env: NYMNODE_WG_ENABLED=] [possible values: true, false] - --wireguard-bind-address - Socket address this node will use for binding its wireguard interface. default: `0.0.0.0:51822` [env: NYMNODE_WG_BIND_ADDRESS=] - --wireguard-private-ip - Private IP address of the wireguard gateway. default: `10.1.0.1` [env: NYMNODE_WG_IP=] - --wireguard-announced-port - Port announced to external clients wishing to connect to the wireguard interface. Useful in the instances where the node is behind a proxy [env: NYMNODE_WG_ANNOUNCED_PORT=] - --wireguard-private-network-prefix - The prefix denoting the maximum number of the clients that can be connected via Wireguard. The maximum value for IPv4 is 32 and for IPv6 is 128 [env: NYMNODE_WG_PRIVATE_NETWORK_PREFIX=] - --verloc-bind-address - Socket address this node will use for binding its verloc API. default: `0.0.0.0:1790` [env: NYMNODE_VERLOC_BIND_ADDRESS=] - --verloc-announce-port - If applicable, custom port announced in the self-described API that other clients and nodes will use. Useful when the node is behind a proxy [env: NYMNODE_VERLOC_ANNOUNCE_PORT=] - --entry-bind-address - Socket address this node will use for binding its client websocket API. default: `0.0.0.0:9000` [env: NYMNODE_ENTRY_BIND_ADDRESS=] - --announce-ws-port - Custom announced port for listening for websocket client traffic. If unspecified, the value from the `bind_address` will be used instead [env: NYMNODE_ENTRY_ANNOUNCE_WS_PORT=] - --announce-wss-port - If applicable, announced port for listening for secure websocket client traffic [env: NYMNODE_ENTRY_ANNOUNCE_WSS_PORT=] - --enforce-zk-nyms - Indicates whether this gateway is accepting only coconut credentials for accessing the mixnet or if it also accepts non-paying clients [env: NYMNODE_ENFORCE_ZK_NYMS=] [possible values: true, false] - --mnemonic - Custom cosmos wallet mnemonic used for zk-nym redemption. If no value is provided, a fresh mnemonic is going to be generated [env: NYMNODE_MNEMONIC=] - --upstream-exit-policy-url - Specifies the url for an upstream source of the exit policy used by this node [env: NYMNODE_UPSTREAM_EXIT_POLICY=] - --open-proxy - Specifies whether this exit node should run in 'open-proxy' mode and thus would attempt to resolve **ANY** request it receives [env: NYMNODE_OPEN_PROXY=] [possible values: true, false] - -h, --help - Print help + -h, --help Print help ``` diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-migrate.md b/documentation/docs/components/outputs/command-outputs/nym-node-migrate.md new file mode 100644 index 00000000000..cc4df86c173 --- /dev/null +++ b/documentation/docs/components/outputs/command-outputs/nym-node-migrate.md @@ -0,0 +1,6 @@ +```sh +** Attention ** +This binary DOES NOT' support migrating from older mixnode/gateway binaries anymore +please use an older version instead before attempting to use this binary again. + +``` diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-node-details.md b/documentation/docs/components/outputs/command-outputs/nym-node-node-details.md index 37077dda8fe..c64c43fae19 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-node-node-details.md +++ b/documentation/docs/components/outputs/command-outputs/nym-node-node-details.md @@ -1,3 +1,3 @@ ```sh -2024-11-06T12:18:46.742880Z ERROR nym-node/src/config/upgrade_helpers.rs:17: Failed to finish upgrade - failed to load config file using path '/home/m/.nym/nym-nodes/default-nym-node/config/config.toml'. detailed message: No such file or directory (os error 2) +2024-12-18T17:36:27.019221Z ERROR nym-node/src/config/upgrade_helpers.rs:19: Failed to finish upgrade - failed to load config file using path '/home/m/.nym/nym-nodes/default-nym-node/config/config.toml'. detailed message: No such file or directory (os error 2) ``` diff --git a/documentation/docs/components/outputs/command-outputs/nym-node-run-help.md b/documentation/docs/components/outputs/command-outputs/nym-node-run-help.md index 29da832b97b..32508afe64e 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-node-run-help.md +++ b/documentation/docs/components/outputs/command-outputs/nym-node-run-help.md @@ -54,8 +54,6 @@ Options: Specifies whether the wireguard service is enabled on this node [env: NYMNODE_WG_ENABLED=] [possible values: true, false] --wireguard-bind-address Socket address this node will use for binding its wireguard interface. default: `0.0.0.0:51822` [env: NYMNODE_WG_BIND_ADDRESS=] - --wireguard-private-ip - Private IP address of the wireguard gateway. default: `10.1.0.1` [env: NYMNODE_WG_IP=] --wireguard-announced-port Port announced to external clients wishing to connect to the wireguard interface. Useful in the instances where the node is behind a proxy [env: NYMNODE_WG_ANNOUNCED_PORT=] --wireguard-private-network-prefix diff --git a/documentation/docs/components/outputs/command-outputs/nym-socks5-client-build-info.md b/documentation/docs/components/outputs/command-outputs/nym-socks5-client-build-info.md index 2727bfe476f..7e1ffd0c22d 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-socks5-client-build-info.md +++ b/documentation/docs/components/outputs/command-outputs/nym-socks5-client-build-info.md @@ -1,10 +1,10 @@ ```sh Binary Name: nym-socks5-client -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.44 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.1.45 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly diff --git a/documentation/docs/components/outputs/command-outputs/nym-socks5-client-generate-fig-spec.md b/documentation/docs/components/outputs/command-outputs/nym-socks5-client-generate-fig-spec.md index 49a1f244a4a..c20d3067a84 100644 --- a/documentation/docs/components/outputs/command-outputs/nym-socks5-client-generate-fig-spec.md +++ b/documentation/docs/components/outputs/command-outputs/nym-socks5-client-generate-fig-spec.md @@ -68,6 +68,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--provider", description: "Address of the socks5 provider to send messages to", @@ -209,6 +219,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--use-anonymous-replies", description: "Specifies whether this client is going to use an anonymous sender tag for communication with the service provider. While this is going to hide its actual address information, it will make the actual communication slower and consume nearly double the bandwidth as it will require sending reply SURBs", diff --git a/documentation/docs/components/outputs/command-outputs/nymvisor-build-info.md b/documentation/docs/components/outputs/command-outputs/nymvisor-build-info.md index b5f79a2571d..9413b2a2160 100644 --- a/documentation/docs/components/outputs/command-outputs/nymvisor-build-info.md +++ b/documentation/docs/components/outputs/command-outputs/nymvisor-build-info.md @@ -1,10 +1,10 @@ ```sh Binary Name: nymvisor -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 0.1.9 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 0.1.10 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly diff --git a/documentation/docs/next-env.d.ts b/documentation/docs/next-env.d.ts index 4f11a03dc6c..a4a7b3f5cfa 100644 --- a/documentation/docs/next-env.d.ts +++ b/documentation/docs/next-env.d.ts @@ -2,4 +2,4 @@ /// // NOTE: This file should not be edited -// see https://nextjs.org/docs/basic-features/typescript for more information. +// see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information. diff --git a/documentation/docs/pages/developers/clients/socks5.mdx b/documentation/docs/pages/developers/clients/socks5.mdx index 08e40b6306c..bcc1a6458d6 100644 --- a/documentation/docs/pages/developers/clients/socks5.mdx +++ b/documentation/docs/pages/developers/clients/socks5.mdx @@ -2,7 +2,6 @@ > This client can also be utilised via the [Rust SDK](../rust). -## What is this client for? Many existing applications are able to use either the SOCKS4, SOCKS4A, or SOCKS5 proxy protocols. If you want to send such an application's traffic through the mixnet, you can use the `nym-socks5-client` to bounce network traffic through the Nym network, like this: ```mermaid @@ -49,9 +48,3 @@ The `nym-socks5-client` allows you to do the following from your local machine: * Send the Sphinx packets through the Nym Network. Packets are shuffled and mixed as they transit the mixnet. The `nym-node` then reassembles the original TCP stream using the packets' sequence numbers, and make the intended request. It will then chop up the response into Sphinx packets and send them back through the mixnet to your `nym-socks5-client`. The application will then receive its data, without even noticing that it wasn't talking to a "normal" SOCKS5 proxy! - -## Download or compile socks5 client - -If you are using OSX or a Debian-based operating system, you can download the `nym-socks5-client` binary from our [Github releases page](https://github.com/nymtech/nym/releases). - -If you are using a different operating system, or want to build from source, simply use `cargo build --release` from the root of the Nym monorepo. diff --git a/documentation/docs/pages/developers/clients/socks5/commands.mdx b/documentation/docs/pages/developers/clients/socks5/commands.mdx index d48d0f9300c..1d4c2f109df 100644 --- a/documentation/docs/pages/developers/clients/socks5/commands.mdx +++ b/documentation/docs/pages/developers/clients/socks5/commands.mdx @@ -152,10 +152,10 @@ Example output: ```sh Binary Name: nym-socks5-client -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.44 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.1.45 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly @@ -256,6 +256,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--provider", description: "Address of the socks5 provider to send messages to", @@ -397,6 +407,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--use-anonymous-replies", description: "Specifies whether this client is going to use an anonymous sender tag for communication with the service provider. While this is going to hide its actual address information, it will make the actual communication slower and consume nearly double the bandwidth as it will require sending reply SURBs", diff --git a/documentation/docs/pages/developers/clients/socks5/config.mdx b/documentation/docs/pages/developers/clients/socks5/config.mdx index 3c53d14da10..a70404c9c64 100644 --- a/documentation/docs/pages/developers/clients/socks5/config.mdx +++ b/documentation/docs/pages/developers/clients/socks5/config.mdx @@ -1,4 +1,6 @@ -# Configuring your client +# Config + +## Default Config Directories When you initalise a client instance, a configuration directory will be generated and stored in `$HOME_DIR/.nym/socks5-clients//`. ``` @@ -21,7 +23,7 @@ The `config.toml` file contains client configuration options, while the two `pem The generated files contain the client name, public/private keypairs, and gateway address. The name `` in the example above is just a local identifier so that you can name your clients. -#### Configuring your client for Docker +## Configuring your client for Docker By default, the native client listens to host `127.0.0.1`. However this can be an issue if you wish to run a client in a Dockerized environment, where it can be convenenient to listen on a different host such as `0.0.0.0`. You can set this via the `--host` flag during either the `init` or `run` commands. diff --git a/documentation/docs/pages/developers/clients/socks5/setup.mdx b/documentation/docs/pages/developers/clients/socks5/setup.mdx index 1a02158aa03..027fadf35e9 100644 --- a/documentation/docs/pages/developers/clients/socks5/setup.mdx +++ b/documentation/docs/pages/developers/clients/socks5/setup.mdx @@ -1,4 +1,10 @@ # Client setup + +## Download or compile socks5 client + +If you are using OSX or a Debian-based operating system, you can download the `nym-socks5-client` binary from our [Github releases page](https://github.com/nymtech/nym/releases). + +If you are using a different operating system, or want to build from source, simply use `cargo build --release` from the root of the Nym monorepo. ## Viewing command help You can check that your binaries are properly compiled with: diff --git a/documentation/docs/pages/developers/clients/socks5/usage.mdx b/documentation/docs/pages/developers/clients/socks5/usage.mdx index be79556af83..1f19f9d1665 100644 --- a/documentation/docs/pages/developers/clients/socks5/usage.mdx +++ b/documentation/docs/pages/developers/clients/socks5/usage.mdx @@ -1,5 +1,6 @@ -# Running the socks5 client +# Usage +## Run You can run the initialised client by doing this: ``` @@ -7,7 +8,6 @@ You can run the initialised client by doing this: ``` ## Automating your socks5 client with systemd - Create a service file for the socks5 client at `/etc/systemd/system/nym-socks5-client.service`: ```ini @@ -38,7 +38,6 @@ systemctl status nym-socks5-client.service ``` ## Using your Socks5 Client - After completing the steps above, your local Socks5 Client will be listening on `localhost:1080` ready to proxy traffic to the Network Requester set as the `--provider` when initialising. When trying to connect your app, generally the proxy settings are found in `settings->advanced` or `settings->connection`. @@ -52,7 +51,6 @@ Most wallets and other applications will work basically the same way: find the n In some other applications, this might be written as **localhost:1080** if there's only one proxy entry field. ## Useful Commands - **no-banner** Adding `--no-banner` startup flag will prevent Nym banner being printed even if run in tty environment. diff --git a/documentation/docs/pages/developers/clients/webassembly-client.mdx b/documentation/docs/pages/developers/clients/webassembly-client.mdx index 71276ef8c1d..9c7241c1acf 100644 --- a/documentation/docs/pages/developers/clients/webassembly-client.mdx +++ b/documentation/docs/pages/developers/clients/webassembly-client.mdx @@ -1,5 +1,6 @@ # Webassembly Client +## Overview The Nym webassembly client allows any webassembly-capable runtime to build and send Sphinx packets to the Nym network, for uses in edge computing and browser-based applications. This is currently packaged and distributed for ease of use via the [Nym Typescript SDK library](../typescript). **We imagine most developers will use this client via the SDK for ease.** @@ -7,7 +8,6 @@ This is currently packaged and distributed for ease of use via the [Nym Typescri The webassembly client allows for the easy creation of Sphinx packets from within mobile apps and browser-based client-side apps (including Electron or similar). ## Building apps with Webassembly Client - Check out the [Typescript SDK docs](../typescript) for examples of usage. ## Think about what you're sending! diff --git a/documentation/docs/pages/developers/clients/websocket/commands.mdx b/documentation/docs/pages/developers/clients/websocket/commands.mdx index b7d67e26cd8..b836bee9476 100644 --- a/documentation/docs/pages/developers/clients/websocket/commands.mdx +++ b/documentation/docs/pages/developers/clients/websocket/commands.mdx @@ -117,10 +117,10 @@ Example output: ```sh Binary Name: nym-client -Build Timestamp: 2024-12-18T10:26:40.905460408Z -Build Version: 1.1.44 -Commit SHA: 62045d76b32265f6a5e6358ab7aebbc827d47dcd -Commit Date: 2024-11-26T11:53:05.000000000+01:00 +Build Timestamp: 2024-12-18T17:33:13.184930493Z +Build Version: 1.1.45 +Commit SHA: b628a5f8148f74c646915292c8b6dc0a46202a27 +Commit Date: 2024-12-13T11:49:27.000000000+01:00 Commit Branch: master rustc Version: 1.84.0-nightly rustc Channel: nightly @@ -221,6 +221,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--disable-socket", description: "Whether to not start the websocket", @@ -354,6 +364,16 @@ const completion: Fig.Spec = { ], }, }, + { + name: "--stats-reporting-address", + description: "Sets the address to report statistics", + hidden: true, + isRepeatable: true, + args: { + name: "stats_reporting_address", + isOptional: true, + }, + }, { name: "--disable-socket", description: "Whether to not start the websocket", diff --git a/documentation/docs/pages/developers/concepts/message-queue.md b/documentation/docs/pages/developers/concepts/message-queue.md index 4209631f296..3fba96b77f1 100644 --- a/documentation/docs/pages/developers/concepts/message-queue.md +++ b/documentation/docs/pages/developers/concepts/message-queue.md @@ -1,5 +1,6 @@ # Message Queue +## Sphinx Packet Streams Clients, once connected to the Mixnet, **are always sending traffic into the Mixnet**; as well as the packets that you as a developer are sending from your application logic, they send [cover traffic](../../network/concepts/cover-traffic) at a constant rate defined by a Poisson process. This is part of the network's mitigation of timing attacks. There are two constant streams of sphinx packets leaving the client at the rate defined by the Poisson process. diff --git a/documentation/docs/pages/developers/concepts/messages.mdx b/documentation/docs/pages/developers/concepts/messages.mdx index 68e4b6f92c4..5a019593c91 100644 --- a/documentation/docs/pages/developers/concepts/messages.mdx +++ b/documentation/docs/pages/developers/concepts/messages.mdx @@ -1,5 +1,6 @@ # Message-based Paradigm +## Message Format For the moment, Mixnet clients work assuming they will be piped atomic messages looking something like this: ``` diff --git a/documentation/docs/pages/developers/integrations.mdx b/documentation/docs/pages/developers/integrations.mdx index 1cc836a2969..6937290ae55 100644 --- a/documentation/docs/pages/developers/integrations.mdx +++ b/documentation/docs/pages/developers/integrations.mdx @@ -6,7 +6,7 @@ import { GitHubRepoSearch } from '../../code-snippets/mixfetchurl'; # Integration Options Developers might want to either integrate a Mixnet client or just to interact with the blockchain. See the relevant section below. -### Integrating Mixnet Functionality +## Integrating Mixnet Functionality There are several options available to developers wanting to embed a Nym client in their application code. @@ -34,8 +34,7 @@ There are several options available to developers wanting to embed a Nym client If your app is not written in any of the supported languages, you might still be able to send traffic through a standalone [socks5 client](./clients/socks5) but will have to think about packaging and bundling the client binary with e.g. a `systemd` file for autostart to run the client as a daemon. If you want to discuss FFI options reach out to us via our public dev channel. -### Interacting with Nyx - +## Interacting with Nyx If instead of relying on the Mixnet you wish to interact with the Nyx chain, either as a payment processor or to get on-chain events, see [interacting with the chain](./chain). > Note that depending on your setup, you might already be able to combine interacting with the chain with using the Mixnet: check the options above for more. diff --git a/documentation/docs/pages/developers/tools/nym-cli.md b/documentation/docs/pages/developers/tools/nym-cli.md index bf938f2173b..e2be8ea3ef2 100644 --- a/documentation/docs/pages/developers/tools/nym-cli.md +++ b/documentation/docs/pages/developers/tools/nym-cli.md @@ -1,34 +1,8 @@ # Nym-CLI -## What is this tool for? This is a CLI tool for interacting with: * the Nyx blockchain (account management, querying the chain state, etc) * the smart contracts deployed on Nyx (bonding and un-bonding mixnodes, collecting rewards, etc) It provides a convenient wrapper around the `nymd` client, and has similar functionality to the `nyxd` binary for querying the chain or executing smart contract methods. - -## Building -The `nym-cli` binary can be built by running `cargo build --release` in the `nym/tools/nym-cli` directory. - -## Usage -See the [commands](./nym-cli/commands.mdx) page for an overview of all command options. - -### Staking on someone's behalf (for custodians) - -There is a limitation the staking address can only perform the following actions (and are visible via the Nym Wallet: - -- Bond on the gateway's or mix node's behalf. -- Delegate or Un-delegate (to a mix node in order to begin receiving rewards) -- Claiming the rewards on the account - -```admonish note title="" -The staking address has no ability to withdraw any coins from the parent's account. -``` - -The staking address must maintain the same level of security as the parent mnemonic; while the parent mnemonic's delegations and bonding events will be visible to the parent owner, the staking address will be the only account capable of undoing the bonding and delegating from the mix nodes or gateway. - -Query for staking on behalf of someone else -``` -./nym-cli --mnemonic mixnet delegators delegate --mix-id --identity-key --amount -``` diff --git a/documentation/docs/pages/developers/tools/nym-cli/_meta.json b/documentation/docs/pages/developers/tools/nym-cli/_meta.json new file mode 100644 index 00000000000..723024d1fd5 --- /dev/null +++ b/documentation/docs/pages/developers/tools/nym-cli/_meta.json @@ -0,0 +1,4 @@ +{ + "usage": "Usage", + "commands": "Commands" +} diff --git a/documentation/docs/pages/developers/tools/nym-cli/usage.mdx b/documentation/docs/pages/developers/tools/nym-cli/usage.mdx new file mode 100644 index 00000000000..f9fa301cc9f --- /dev/null +++ b/documentation/docs/pages/developers/tools/nym-cli/usage.mdx @@ -0,0 +1,26 @@ +# Usage + +## Building +The `nym-cli` binary can be built by running `cargo build --release` in the `nym/tools/nym-cli` directory. + +## Usage +See the [commands](./nym-cli/commands.mdx) page for an overview of all command options. + +## Staking on someone's behalf (for custodians) + +There is a limitation the staking address can only perform the following actions (and are visible via the Nym Wallet: + +- Bond on the gateway's or mix node's behalf. +- Delegate or Un-delegate (to a mix node in order to begin receiving rewards) +- Claiming the rewards on the account + +```admonish note title="" +The staking address has no ability to withdraw any coins from the parent's account. +``` + +The staking address must maintain the same level of security as the parent mnemonic; while the parent mnemonic's delegations and bonding events will be visible to the parent owner, the staking address will be the only account capable of undoing the bonding and delegating from the mix nodes or gateway. + +Query for staking on behalf of someone else +``` +./nym-cli --mnemonic mixnet delegators delegate --mix-id --identity-key --amount +``` diff --git a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx index 33e7e3f6c34..8654616321e 100644 --- a/documentation/docs/pages/operators/nodes/nym-node/setup.mdx +++ b/documentation/docs/pages/operators/nodes/nym-node/setup.mdx @@ -168,19 +168,24 @@ 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`). 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. +**Legacy binaries `nym-mixnode` and `nym-gateway` had been deprecated, [`nym-node`](../nym-node.mdx) is the only binary to use for `gateway` or `mixnode` functionalities!** -**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.** +From `2024.14-crunch` release (`nym-node v1.2.0`) onward, `nym-node` binary does *not* have `migrate` command included. In case you are still running a legacy node and want to migrate, [download](https://github.com/nymtech/nym/releases) an older `nym-node` binary and upgrade to the latest after migrating. + +Furthermore, giving that legacy nodes had been deprecated for several months, Nym cannot promise 100% serialisation for operators migrating from long outdated versions. 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. Operators who are about to migrate their nodes need to configure their [VPS](vps-setup.md) and setup `nym-node` which can be downloaded as a [pre-built binary](../binaries/pre-built-binaries.md) or compiled from [source](../binaries/building-nym.md). -To migrate a `nym-mixnode` or a `nym-gateway` to `nym-node` is fairly simple, use the `migrate` command with `--config-file` flag pointing to the original `config.toml` file, with a conditional argument defining which type of node this configuration belongs to. Examples are below. +To migrate a `nym-mixnode` or a `nym-gateway` to `nym-node` use, the `migrate` command with `--config-file` flag pointing to the original `config.toml` file, with a conditional argument defining which type of node this configuration belongs to. The exact steps are below. Make sure to use `--deny-init` flag to prevent initialisation of a new node. +**After you upgraded your node to the latest release of `nym-node`, make sure that you also follow [the steps to migrate your node in the Mixnet smart contract](bonding#migrate-to-nym-node-in-mixnet-smart-contract), othewise your node will never receive any rewards.** + + ### Next steps If there are any problems checkout the troubleshooting section or report an issue.