Validating

Take the first step into the future of blockchain! Become a part of our network today by starting your journey as a validator.

Compute Requirements

🐧 Required OS: Ubuntu 22.04   |   🐍 Required Python: Python 3.10

⚙️ Assumptions

- Miners: 256 total, evenly distributed across active validators

- Machines per Miner: At least 3 (2 traffic generators + 1 king)

- Active Validator Scenario: Only 1 validator is active

➡️ Resulting Load: 1 validator × 256 miners × 3 machines = 768 simultaneous SSH connections

ResourceMinimum Requirement
VRAMNone
vCPU16 vCPU
RAM32 GB
Storage150 GB
Network>= 1 Gbps

🔧 Installation


1. Update system packages and install Python (3.10) pip :


sudo apt update && sudo apt install python3-pip -y && sudo apt install python3-venv -y

2. Install npm and pm2 for process management:


sudo apt install npm -y && sudo npm install -g pm2

3. Create and activate virtual environment :


python3 -m venv tp && source tp/bin/activate

4. Clone the repository and install the required pip dependencies :


git clone https://github.com/shugo-labs/tensorprox.git cd tensorprox pip install -r requirements.txt

🧩 Configuration


1. Before running a validator, you will need to register its hotkey to the subnet:


If you haven't created a coldkey/hotkey wallet pair yet, checkhere

btcli s register --wallet.name borgg --wallet.hotkey validator --netuid 91 --subtensor.network finney

⚠️ To help decentralization, we strongly encourage using a local Subtensor network. 👉 See this guide


2. You will also need to create a .env.validator environment file. It is necessary for you to provide the following :


NETUID = # The subnet UID (integer) SUBTENSOR_NETWORK = # The network name [test, finney, local] SUBTENSOR_CHAIN_ENDPOINT = # The chain endpoint [test if running on test, finney if running on main, custom endpoint if running on local] WALLET_NAME = # Name of your wallet (coldkey) HOTKEY = # Name of your hotkey associated with above wallet AXON_PORT = # TCP Port Number. The port must be open

🔔 Nota Bene:

For proper operation, the validator must ensure that the following ports are open: AXON_PORT, AXON_PORT + UID + 1, and AXON_PORT + UID + 2.
While AXON_PORT is used for axon serving, ports AXON_PORT + UID + 1 and AXON_PORT + UID + 2 are critical for synchronizing the active validator count across the network.
Failing to expose these ports may lead to incomplete peer discovery or inconsistent validator state.


3. Also, make sure to include your WANDB_API_KEY in the .env environment file :


WANDB_API_KEY="YOUR_API_KEY"

🖥️ Running

  1. 1. After creating the above environment file, run :


    pm2 start "python3 neurons/validator.py" --name validator

  2. 2. Check if the instance is correctly running :


    pm2 list

  3. 3. To view logs and monitor the validator's activity :

    pm2 logs validator

🔗 To learn more, visit our GitHub repo: github.com/shugo-labs/tensorprox