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 CPU: 2 cores at 2.5 GHz. Recommended: 4 cores at 3.5 GHz. 12 GB swap space minimum, 8 GB recommended. SSD with 1000 IOPS minimum, 5000 IOPS recommended. GPU optional but not required.
Minimum CPU: 16 cores at 2.5 GHz. Recommended: 16 cores at 3.5 GHz. 12 GB swap minimum, 24 GB recommended. SSD with 1000 IOPS minimum, 5000 IOPS recommended. Validator processes run in parallel using multiprocessing (default 2 processes, configurable via --neuron.nprocs).
Clone the Synth subnet repository
git clone https://github.com/synthdataco/synth-subnet.git && cd synth-subnet
Install Rust (required for dependencies)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install Node.js, npm, and pkg-config
sudo apt update && sudo apt install nodejs npm pkg-config
Install PM2 process manager globally
sudo npm install pm2 -g
Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh && source $HOME/.local/bin/env
Create virtual environment and install all locked Python dependencies
uv sync
Activate Python virtual environment and set PYTHONPATH
source .venv/bin/activate && export PYTHONPATH=.
Create Bittensor cold and hot wallets
btcli wallet create --wallet.name miner --wallet.hotkey default
Register wallet on mainnet (netuid 50). For testnet use --netuid 247 --network test
btcli subnet register --wallet.name miner --wallet.hotkey default --netuid 50
Open port 8091 in firewall (ufw)(optional)
sudo ufw allow 8091
Test model produces valid prediction format locally(optional)
python synth/miner/run.py
Start miner with PM2 (after editing miner.config.js with your wallet/hotkey)
pm2 start miner.config.js
Clone the Synth subnet repository
git clone https://github.com/synthdataco/synth-subnet.git && cd synth-subnet
Add deadsnakes PPA for Python 3.11
sudo add-apt-repository ppa:deadsnakes/ppa
Install Rust
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install Node.js, npm, Python 3.11, and pkg-config
sudo apt update && sudo apt install nodejs npm python3.11 pkg-config
Install PM2 process manager
sudo npm install pm2 -g
Install uv package manager
curl -LsSf https://astral.sh/uv/install.sh | sh && source $HOME/.local/bin/env
Create virtual environment and install all locked Python dependencies
uv sync
Activate Python virtual environment
source .venv/bin/activate
Create and configure .env file with PostgreSQL credentials
cp .env.example .env && nano .env
Run database migrations
alembic upgrade head
Create Bittensor cold and hot wallets
btcli wallet create --wallet.name validator --wallet.hotkey default
Register wallet on subnet (netuid 50 for mainnet, 247 for testnet)
btcli subnet register --wallet.name validator --wallet.hotkey default --netuid 50
Register validator on root network
btcli root register --wallet.name validator --wallet.hotkey default
Stake TAO to become a validator
btcli stake add --wallet.name validator --wallet.hotkey default --netuid 50
Start validator with PM2
pm2 start validator.config.js