Loading
Loading

This information was auto-extracted from the GitHub repository and may be incomplete or out of date. Always refer to the subnet's GitHub repository for the latest instructions.
Minimum 4 GB swap space required, 8 GB recommended. Concurrency configured per-search-type in manifest.json; infrastructure scaling depends on declared concurrency multiplied by active validators.
Minimum 4 GB swap space required, 8 GB recommended. Allocate at least 50 GB free disk for Weights & Biases logs. Redis and SQLite required locally. 8 CPU cores recommended for production validators.
Clone the Desearch subnet repository
git clone https://github.com/Desearch-ai/subnet-22.git && cd subnet-22
Install Python dependencies and the desearch package
python3 -m pip install -r requirements.txt && python3 -m pip install -e .
Create coldkey and hotkey pair for miner identity
btcli wallet new_coldkey --wallet.name miner && btcli wallet new_hotkey --wallet.name miner --wallet.hotkey default
Register hotkey on mainnet subnet 22 (or netuid 41 for testnet)
btcli subnet register --netuid 22 --wallet.name miner --wallet.hotkey default --subtensor.network finney
Copy environment variables template for miner configuration
cp neurons/miners/.env.template neurons/miners/.env
Configure miner environment variables with API credentials and wallet settings
# Edit neurons/miners/.env with OPENAI_API_KEY, APIFY_API_KEY, SCRAPINGDOG_API_KEY, WALLET_NAME, WALLET_HOTKEY, SUBTENSOR_NETWORK, NETUID, AXON_PORT
Copy miner manifest template for concurrency configuration
cp neurons/miners/manifest.template.json neurons/miners/manifest.json
Configure concurrency limits per search type in manifest.json
# Edit neurons/miners/manifest.json to set concurrency limits for web_search, x_search, ai_search
Install PM2 for process management (requires sudo)
sudo npm install -g pm2 && pm2 update
Start miner axon with PM2 using environment variables from .env
pm2 start neurons/miners/miner.py --interpreter /usr/bin/python3 --name desearch_miner
Monitor miner process status and logs(optional)
pm2 status && pm2 logs desearch_miner
Clone the Desearch subnet repository
git clone https://github.com/Desearch-ai/subnet-22.git && cd subnet-22
Create and activate Python 3.10 conda environment (recommended)
conda create -n val python=3.10 -y && conda activate val
Install Python dependencies and the desearch package
python3 -m pip install -r requirements.txt && python3 -m pip install -e .
Install system dependencies: Redis, jq, npm (Ubuntu/Debian)
sudo apt update && sudo apt install -y redis-server jq npm
Install PM2 globally for process management
sudo npm install -g pm2 && pm2 update
Create coldkey and hotkey pair for validator identity
btcli wallet new_coldkey --wallet.name validator && btcli wallet new_hotkey --wallet.name validator --wallet.hotkey default
Register validator hotkey on mainnet subnet 22 (or netuid 41 for testnet)
btcli subnet register --netuid 22 --wallet.name validator --wallet.hotkey default --subtensor.network finney
Export required API credentials in shell environment
export OPENAI_API_KEY='...' && export APIFY_API_KEY='...' && export SCRAPINGDOG_API_KEY='...' && export WANDB_API_KEY='...'
Generate and export EXPECTED_ACCESS_KEY for validator API authentication
export EXPECTED_ACCESS_KEY="$(python3 scripts/generate_access_key.py)"
Authenticate with Weights & Biases for metrics logging
wandb login
Start validator with autoupdate loop (recommended; manages validator_process, api_process, and auto-pulls new releases)
pm2 start run.sh --name desearch_autoupdate -- --wallet.name validator --wallet.hotkey default --netuid 22 --subtensor.network finney
Monitor all three validator processes (validator_service, api, autoupdate)(optional)
pm2 status && pm2 logs desearch_validator_process && pm2 logs desearch_api_process
Test validator API health check locally(optional)
curl -s 'http://localhost:8005/' -H 'access-key: <EXPECTED_ACCESS_KEY>'