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.
Lightweight neuron; no model training. Primary requirement is reliable reachability so validators can pull reveals. Must maintain persistent claims.json file.
Network I/O bound; requires ScrapingBee for proxy outlets and at least one search provider (Brave or SerpAPI). Must have sufficient stake for validator permit.
Clone the Herald repository
git clone <repo> herald && cd herald
Create and activate Python virtual environment
python3 -m venv .venv && source .venv/bin/activate
Install dependencies and Herald package
pip install -r requirements.txt && pip install --no-build-isolation -e .
Create a new Bittensor cold key for wallet
btcli wallet new_coldkey --wallet.name herald_miner
Create a new hotkey associated with the cold key
btcli wallet new_hotkey --wallet.name herald_miner --hotkey m1
Register hotkey on netuid 69 (Finney testnet)
btcli subnet register --netuid 69 --wallet.name herald_miner --wallet.hotkey m1 --network finney
Configure .env with HERALD_PRODUCTION=true, NETUID=69, SUBTENSOR_NETWORK=finney, WALLET_NAME, HOTKEY_NAME, AXON_EXTERNAL_IP, AXON_EXTERNAL_PORT=8091, HERALD_CLAIM_STORE, HERALD_BRIEFS_ENDPOINT
cp deploy/miner.env.production.example .env && nano .env
Start miner using Docker Compose (or: python neurons/miner.py --netuid 69 --wallet.name herald_miner --wallet.hotkey m1 --axon.external_ip <ip> --neuron.disable_auto_update)
docker compose up -d --build miner
View open briefs and available campaigns(optional)
python -m herald.miner.cli briefs
Commit intent on-chain before/while pitching (use --quote for Level 2 evidence, --author/--window for Level 1)
python -m herald.miner.cli commit --brief <brief_id> --outlet <outlet_id> --wallet-name herald_miner --hotkey m1 [--quote '...' or --text-file draft.txt] [--author '...' --window date:date]
Claim the article once published (auto-snapshots page text)
python -m herald.miner.cli claim --commit <onchain_value> --url https://outlet.com/article
View your local claims inventory(optional)
python -m herald.miner.cli list
Clone the Herald repository
git clone <repo> herald && cd herald
Create and activate Python virtual environment
python3 -m venv .venv && source .venv/bin/activate
Install dependencies and Herald package
pip install -r requirements.txt && pip install --no-build-isolation -e .
Create a new Bittensor cold key for validator wallet
btcli wallet new_coldkey --wallet.name herald_vali
Create a new hotkey associated with the validator cold key
btcli wallet new_hotkey --wallet.name herald_vali --hotkey v1
Register hotkey on netuid 69 (Finney testnet)
btcli subnet register --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --network finney
Stake TAO to obtain validator permit
btcli stake add --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --amount <TAO>
Download and store the signed outlet registry (must be byte-identical to on-chain anchor)
mkdir -p /secure/herald && curl -s https://api.heraldmedia.ai/registry/outlets.json -o /secure/herald/outlets.signed.json
Configure .env with all required fields: HERALD_PRODUCTION=true, NETUID=69, SUBTENSOR_NETWORK=finney, WALLET_NAME, HOTKEY_NAME, AXON_EXTERNAL_IP, VALIDATOR_AXON_PORT=8092, HERALD_BRIEFS_ENDPOINT, HERALD_BRIEFS_PUBKEY, HERALD_RESULTS_ENDPOINT, HERALD_RESULTS_TOKEN (operator-provided), HERALD_REGISTRY_HOST_FILE, HERALD_REGISTRY_PUBKEY, HERALD_REGISTRY_AUTHORITY_HOTKEY, SCRAPINGBEE_API_KEY (required), BRAVE_API_KEY or SERPAPI_API_KEY (pick one), HERALD_EXPECTED_CONSENSUS_FP
cp deploy/validator.env.production.example .env && nano .env
Restrict .env file permissions to owner-read/write only
chmod 600 .env
Compute the consensus fingerprint (must match across all validators and backend); set result in HERALD_EXPECTED_CONSENSUS_FP
docker compose --profile validator run --rm --no-deps --entrypoint python validator -m herald.production fingerprint
Start validator using Docker Compose (or: python neurons/validator.py --netuid 69 --wallet.name herald_vali --wallet.hotkey v1 --axon.port 8092 --neuron.disable_auto_update)
docker compose --profile validator up -d --build validator
Monitor validator logs for startup and scoring activity(optional)
docker compose --profile validator logs -f validator