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.
Miners submit encrypted predictions (embeddings) to R2 via payload commits. No GPU required for encryption/submission. Heavy CPU/RAM needed for model training offline to generate competitive embeddings.
CUDA disabled by default (env config) to ensure cross-hardware numerical reproducibility. Validators run single-threaded BLAS (OMP_NUM_THREADS=1) for stable weight calculations. Requires SQLite WAL mode storage with periodic database snapshots for publishing.
Clone the MANTIS subnet repository
git clone https://github.com/opentensor/validators.git && cd validators/subnet_123_mantis
Install dependencies including timelock-wasm from source (NOT via pip)
./install_reqs.sh
Install Python dependencies (torch 2.7.1, scikit-learn, boto3, etc.)
pip install -r requirements.txt
Configure environment: HOTKEY, WALLET, R2 credentials (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY), FLOW_COLLATERAL_ADDRESS if trading FLOW
cp .env.example .env && nano .env
Generate and encrypt embeddings for a challenge; writes V2 JSON with dual encryption (owner + timelock drand)
python generate_and_encrypt.py --challenge ETH-1H-BINARY --payload-file embeddings.json
Run miner: samples block chain, encrypts embeddings, posts commits to R2 on schedule
python neurons/miner.py --netuid 123
Daemonize miner with PM2 (optional but recommended for production)(optional)
pm2 start neurons/miner.py --name miner -- --netuid 123
Open a FLOW collateral slot and fund it (required only if submitting FLOW bracket trades)(optional)
python flow_post.py fund --hotkey myhotkey --amount 0.5 --chain mainnet
Clone the MANTIS subnet repository
git clone https://github.com/opentensor/validators.git && cd validators/subnet_123_mantis
Install dependencies including timelock-wasm from source
./install_reqs.sh
Install Python dependencies
pip install -r requirements.txt
Configure: HOTKEY, WALLET, FLOW_COLLATERAL_RPC (archive endpoint), FLOW_COLLATERAL_ADDRESS (live pool on chain 964)
cp .env.example .env && nano .env
Initialize SQLite datalog with challenge metadata and download remote archives (datalog.db, flow_datalog.db, latest_prices.json)
mkdir -p .storage && python -c 'from ledger import DataLog; DataLog.init_db()'
Run validator: samples miner payloads every SAMPLE_EVERY blocks, decrypts after maturity, computes per-challenge salience via model.multi_salience(), applies EMA, sets weights on-chain
python neurons/validator.py --netuid 123
Daemonize validator with PM2 for production(optional)
pm2 start neurons/validator.py --name validator -- --netuid 123
Set custom weight-setting interval (default WEIGHT_SET_INTERVAL=360 blocks)(optional)
pm2 start python neurons/validator.py -- --netuid 123 --update-interval 360