Loading
Loading
Neuron registration trends
Building large-scale video datasets requires collecting clips from multiple sources, generating reliable metadata and captions, and verifying quality at scale. Manual validation is expensive and slow; centralized platforms create bottlenecks and single points of failure. A decentralized network of independent contributors—miners who collect and package clips, and validators who verify submissions—can perform this work in parallel while maintaining quality through cryptographic incentives and on-chain scoring.
Nexisgen implements this as a Bittensor subnet. Miners collect YouTube video clips, generate captions from timeline-sampled frames, and upload interval-based dataset packages (parquet files with manifests) to decentralized storage every 50 blocks. Validators download submissions, perform multi-layer checks including schema validation, asset integrity verification, and optional semantic/category checks, then score miners and submit weights to the chain. Invalid miners are zeroed before weight submission.
The subnet enforces dataset quality through hard checks (YouTube source verification, no overlapping clips from the same source within 4.5 seconds, caption lexical standards, SHA256 asset verification) and optional semantic validation. An owner-validator maintains a shared overlap index so all validators can prune duplicate rows across miners without rejecting entire intervals. Same-interval cross-miner conflicts are arbitrated by earliest manifest creation timestamp.
Use cases were auto-generated from the GitHub repository and may not reflect the latest changes.
Nexisgen is a Bittensor subnet where miners produce interval-based video clip datasets (with captions and metadata) and validators verify dataset integrity, score miners, and submit chain weights. Miners collect YouTube video clips, generate captions from timeline-sampled frames, and upload parquet datasets with manifests to Cloudflare R2 storage every 50 blocks. Validators download submissions, perform schema/integrity/asset verification, run optional semantic and category checks, prune overlaps using a shared index, and compute miner scores based on validation sampling.
Miners run a continuous loop that: (1) discovers new 50-block intervals from chain, (2) collects YouTube video clips using yt-dlp, (3) generates clip records with captions from timeline-sampled frames, (4) writes interval package (dataset.parquet + manifest.json), (5) uploads to Cloudflare R2 bucket. Validators run a continuous loop that: (1) discover active miners via metagraph and committed on-chain credentials, (2) download each miner's interval packages, (3) validate via multi-layer checks (manifest identity, integrity, schema, asset verification, sampled semantic/category validation), (4) prune rows using shared overlap index from owner validator, (5) arbitrate same-interval cross-miner conflicts by earliest manifest timestamp, (6) compute per-miner scores, (7) accumulate scores over 250-block windows and submit set_weights to chain. Owner-validator is a special validator instance that additionally publishes accepted metadata bundles and overlap index snapshots to shared buckets for other validators to use.
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.
Docker Compose orchestrates validator + watchtower for automated image updates.
Validators sample rows from each miner submission (sample_rate=0.25, min=2, max=35 rows per interval; for each miner, if row_count<=10 sample all, else sample 20% capped at 10). Hard checks run on full dataset (schema, source URLs, overlap, captions). Sampled rows undergo additional expensive checks (asset verification, semantic caption validation, category validation).
Accepted intervals contribute to miner score; rejected intervals contribute zero. Failure types include non-YouTube sources, schema violations, asset hash mismatches, caption mismatches, overlap violations, source authenticity failures, and category validation failures. Validators maintain rolling 10-interval failure lookback and can dampen/zero recent hard-failure miners.
API-backed invalid hotkey lists (interval_id-500 to interval_id) are fetched and applied before weight submission.
The sections above were auto-generated from the GitHub repository and may not reflect the latest changes.
FAQs were auto-generated from the GitHub repository and may not reflect the latest changes.
Holder & total-staked metrics as of 1h ago (hourly snapshot)
Requires yt-dlp, ffmpeg, and ffprobe binaries installed on system. Python >=3.10,<3.13. Access to Bittensor wallet files and Cloudflare R2 credentials required.
Docker deployment strongly recommended. Requires yt-dlp, ffmpeg, ffprobe for source authenticity validation. Python >=3.10,<3.13 for local (non-Docker) deployment. Optional OpenAI API key (preferred for semantic/category checks via gpt-4o) or Gemini API key (fallback, uses gemini-3.1-flash-lite-preview).
Create and activate Python virtual environment
cd nexisgen && python -m venv .venv && source .venv/bin/activate
Install nexisgen package with dependencies
pip install -e ".[dev]"
Copy environment template
cp .env.example .env
Configure BT_WALLET_NAME, BT_WALLET_HOTKEY, BT_WALLET_PATH, R2_ACCOUNT_ID, R2_REGION, R2_READ_ACCESS_KEY, R2_READ_SECRET_KEY, R2_WRITE_ACCESS_KEY, R2_WRITE_SECRET_KEY, NEXIS_SOURCES_FILE, and optionally NEXIS_BLOCK_POLL_SEC, NEXIS_DATASET_CATEGORY, TARGET_RESOLUTION, NEXIS_DATASET_SPEC_DEFAULT, NEXIS_MINER_ENABLED_SPECS
# Edit .env with required values
Commit miner read credentials on-chain so validators can discover and access miner bucket
nexis commit-credentials
Start miner continuous loop; builds and uploads one interval package per 50-block interval
nexis mine
Copy Docker validator configuration templates
cd nexisgen/docker && cp validator.env.example validator.env && cp compose.env.example compose.env
Set restrictive permissions on environment files
chmod 600 validator.env compose.env
Configure compose environment variables, particularly wallet host path for Docker mount
# Edit compose.env: set BT_WALLET_HOST_PATH to host wallet directory
Configure required and recommended validator environment variables
# Edit validator.env: set NEXIS_NETUID, BT_NETWORK, BT_WALLET_NAME, BT_WALLET_HOTKEY, BT_WALLET_PATH, R2_ACCOUNT_ID, R2_REGION, NEXIS_BLOCK_POLL_SEC, NEXIS_WORKDIR, NEXIS_RECORD_INFO_BUCKET, NEXIS_RECORD_INFO_ACCOUNT_ID, NEXIS_RECORD_INFO_READ_ACCESS_KEY, NEXIS_RECORD_INFO_READ_SECRET_KEY, and optional OPENAI_API_KEY or GEMINI_API_KEY
Start Docker validator and watchtower services in background
docker compose --env-file compose.env -f docker-compose.validator.yml up -d
Monitor validator logs to verify startup and operation(optional)
docker logs -f nexis-validator