Nyx Validator Setup
Our documentation often refers to syntax annotated in <> brackets. We use this expression for variables that are unique to each user (like path, local moniker, versions et cetera).
Any syntax in <> brackets needs to be substituted with your correct name or version, without the <> brackets. If you are unsure, please check our table of essential parameters and variables (opens in a new tab).
Nym has two main codebases: the Nym platform (opens in a new tab) written in Rust, which contains everything except the validators, and the Nym validators (opens in a new tab) written in Go and maintained as a fork of wasmd (opens in a new tab).
The validator is a Go application built on the Cosmos SDK (opens in a new tab). The underlying state-replication engine is powered by CometBFT (opens in a new tab), where the consensus mechanism is based on the Tendermint Consensus Algorithm (opens in a new tab). A CosmWasm (opens in a new tab) smart contract module controls crucial mixnet functionalities like the decentralised directory service, node bonding and delegated mixnet staking.
At present our mainnet operates with a select group of reputed validators and we are not accepting new validators at this time. We do extend the set from time to time - if you are interested, get in touch with the Nym team. Any updates to this policy will be announced.
Which setup do you need?
There are three distinct roles in this section, each with its own page. Read this overview first, then follow the page matching your role.
| Role | What it does | Page |
|---|---|---|
| Consensus validator | Proposes and signs blocks, joins network consensus | Nyx validator setup |
| Full node | Does not sign blocks, serves RPC / API / gRPC to applications | Nyx validator setup |
| Nym API signer | Runs nym-api in ecash signing mode alongside a local full node | Nym API signer setup |
It is highly recommended to run nym-api alongside a full node and not a signing validator, since you will be exposing HTTP ports to the internet. We also observed degradation in p2p and block signing operations when nym-api was run alongside a signing validator.
Pages in this section
- Nyx Validator Setup - install
nyxd, initialise, configure and run a validator or full node, join consensus, day 2 operations - Nym API - what the Nym API is, how it is rewarded, hardware requirements and caching mode setup
- Nym API Signer Setup - the full mainnet ecash signer walkthrough
- Local RPC Setup - a loopback-only
nyxdRPC backing a signer - Nyx & Nym API Configuration -
systemdautomation, reverse proxy, Prometheus metrics and port reference
Signer setup path
If you are setting up an ecash signer, the order matters. Follow these two pages in sequence:
- Local RPC Setup - get
nyxdsynced and listening on127.0.0.1:26657 - Nym API Signer Setup - initialise
nym-api, enable zk-nym signing and expose the announce address over HTTPS
Do not start the API before the local RPC reports catching_up == false.