Operators
Tools

Tools

On this page you can find tools to setup a node automatically, explorers and other useful dashboards and scripts.

ℹ️

Our documentation often refer to syntax annotated in <> brackets. We use this expression for variables that are unique to each user (like path, local moniker, versions etcetra). 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).

Explorers

Nym Network stats can be humanly read on some of the explorers and dashboards.

Nym Node CLI

This interactive command-line-based tool takes an operator through a journey of installing, configuring and starting a nym-node as a systemd service, doing most of the steps automatically for them.

Installation & Running

1. SSH into your server (VPS)
  • The installation of nym-node using this program requires you to run as root
2. Download nym-node-cli.py and make executable
wget https://raw.githubusercontent.com/nymtech/nym/refs/heads/develop/scripts/nym-node-setup/nym-node-cli.py && \
chmod +x ./nym-node-cli.py
3. Run the program
./nym-node-cli.py
4. Read and follow the prompts

CMD Reward Tracker

A command-line-based program locally calculating nodes rewards based on provided Nyx account addresses in data/wallet-addresses.csv.

Installation & Running

1. Pull / clone nymtech/nym repository
  • Open terminal and navigate to where you want to have nym repostiry and run:
git clone https://github.com/nymtech/nym
2. Add your Nyx accounts to wallet-addresses.csv
  • Navigate to nym/scripts/rewards-tracker/data
  • Open wallet-addresses.csv in your favourite text editor or a sheet managing tool (Like Libre Office Calc)
  • To the first collumn called address add all Nyx addresses you want to track
  • Delete all add_wallet_or_delete template examples
3. Add entity to wallet-addresses.csv - optional
  • In the same file operators who want to separate their nodes by an entity, can add this entity to the tag column

  • If not leave this column empty - delete all optional_tag_or_delete fields

  • Csv example with tags:

address, tag
n1foofoofoo, personal
n1barbarbar, personal
n1bazbazbaz, mysquad
n1lollollol, mysquad
  • For operators having all nodes under one entity, the tag field will be left empty. Example:
address, tag
n1foofoofoo
n1barbarbar
n1bazbazbaz
4. Save wallet-addresses.csv and exit
5. Run the program
  • In terminal navigate to nym/scripts/rewards-tracker
  • Run the program:
./node_rewards_tracker.py

The Output

The result of running node_rewards_tracker.py is:

  1. Printed table in terminal
  2. Updated sheet with complete info stored in data/node-balances.csv
  3. Historical data file stored in data/data.yaml - this file should not be changed manually, as all values older than 30 days get auto-removed

Node Ping Tester

This tool is used to diagnose how many nodes providing self-described endpoint allow your IP to ping them. It's a very simple script fetching all /described (opens in a new tab) nodes and trying to ping each of them.

The output is collected into two files:

  ├── ping_not_working.csv
  └── ping_works.csv

Installation & Running

1. SSH into your node server (VPS)
2. Download and make executable
  • Navigate to the directory where you want to have this script
  • Download and make executable:
wget https://raw.githubusercontent.com/nymtech/nym/refs/heads/develop/scripts/test-nodes-pings.sh && \
chmod +x test-nodes-pings.sh
3. Run the script
  • Default running command is straight forward
./test-nodes-pings.sh
  • If you want to increase the ping attempts from default 2 or lower the concurency, feel free to change the variables, like this:
PING_RETRIES=10 PING_TIMEOUT=5 CONCURRENCY=16 ./test-nodes-pings.sh

You can look up the IPs from ping_not_working.csv, using some online database, like ipinfo.io (opens in a new tab).

Feel invited to share the outcome with Nym team, mentors and the rest of the operators in our Matrix Node Operators channel (opens in a new tab).