بنقرة واحدة
basilica-localnet-debug
Debug Basilica localnet services using existing scripts and Docker Compose commands
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Debug Basilica localnet services using existing scripts and Docker Compose commands
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
Use when the user wants to log into Basilica, create API tokens, check balance, fund credits with TAO, or inspect deposit history.
Use when the user broadly wants to operate Basilica as a cloud platform customer, including account setup, funding, rentals, deployments, inference, OpenClaw, Tau, or SDK automation.
Use when the user wants direct machine access on Basilica via rentals, including discovery, SSH keys, secure-cloud/community-cloud selection, volumes, SSH, exec, file copy, and teardown.
Use when the user wants to operate Basilica programmatically from Python, including deployments, rentals, inference templates, balance checks, and usage history.
Use when the user wants to deploy apps, APIs, inference endpoints, or OpenClaw/Tau-style services with the Basilica CLI.
| name | basilica-localnet-debug |
| description | Debug Basilica localnet services using existing scripts and Docker Compose commands |
| Service | Container Name | IP Address | Ports |
|---|---|---|---|
| Subtensor | basilica-subtensor | 172.28.0.10 | 9944 (RPC), 30334 (P2P) |
| Validator | basilica-validator | 172.28.0.20 | 8080 (API), 9090 (Metrics) |
| Miner | basilica-miner | 172.28.0.30 | 8092 (gRPC), 8091 (Axon), 9091 (Metrics) |
| Prometheus | basilica-prometheus | 172.28.0.40 | 9099 |
| Grafana | basilica-grafana | 172.28.0.41 | 3000 |
IMPORTANT: Validator and Miner use SQLite, NOT PostgreSQL.
| Service | Database | File Path |
|---|---|---|
| Validator | SQLite | /opt/basilica/data/validator.db |
| Miner | SQLite | /var/lib/basilica/miner/data/miner.db |
| Profile | Services Included |
|---|---|
network | subtensor |
validator | subtensor, validator |
miner | subtensor, validator, miner |
monitoring | subtensor, validator, miner, prometheus, grafana |
| (none/all) | All services |
| File | Purpose |
|---|---|
scripts/localnet/configs/validator.toml | Validator configuration |
scripts/localnet/configs/miner.toml | Miner configuration |
scripts/localnet/configs/prometheus.yml | Prometheus scrape targets |
scripts/localnet/wallets/scripts/localnet/wallets/validator/scripts/localnet/wallets/miner_1/scripts/localnet/wallets/alice/| Script | Purpose | Usage |
|---|---|---|
start.sh | Start services with profiles | ./start.sh [profile] [--build] |
stop.sh | Stop services | ./stop.sh [--clean] |
test.sh | Health checks for all services | ./test.sh |
init-subnet.sh | Create wallets and register neurons | ./init-subnet.sh |
./start.sh network # Subtensor only
./start.sh validator # Subtensor + Validator
./start.sh miner # Above + Miner
./start.sh monitoring # All + Prometheus + Grafana
./start.sh all # Everything (default)
./start.sh --build # Rebuild images before starting
./stop.sh # Stop containers, preserve data
./stop.sh --clean # Remove containers, volumes, and network for fresh start (wallets in scripts/localnet/wallets/ are preserved)
Run these from scripts/localnet/ directory.
# All services
docker compose logs
# Specific service
docker compose logs validator
docker compose logs miner
docker compose logs subtensor
# Follow logs in real-time
docker compose logs -f validator
# Tail last N lines
docker compose logs --tail=100 validator
# Filter for errors/warnings
docker compose logs validator 2>&1 | grep -iE "error|warn|fail"
# Combine follow + filter
docker compose logs -f validator 2>&1 | grep -iE "error|warn"
# Restart a service
docker compose restart validator
# Stop single service
docker compose stop validator
# Start single service
docker compose up -d validator
# Rebuild single service (no cache)
docker compose build --no-cache validator
# Rebuild and restart
docker compose up -d --build validator
# Shell into container
docker exec -it basilica-validator /bin/sh
docker exec -it basilica-miner /bin/sh
# Run command in container
docker exec basilica-validator cat /app/validator.toml
docker exec basilica-validator ls -la /opt/basilica/data/ # Check validator data
# List volumes
docker volume ls | grep localnet
# Inspect volume
docker volume inspect localnet_validator-data
# Remove all project volumes (destructive)
docker compose down -v
Check if container exists:
docker compose ps -a
Check logs for errors:
docker compose logs validator 2>&1 | tail -50
Check dependencies are running:
docker compose ps subtensor # Validator depends on this
docker compose ps validator # Miner depends on this being healthy
Check health endpoint:
curl -s http://localhost:8080/health # Validator
curl -s http://localhost:9091/metrics # Miner
curl -s http://localhost:9944/health # Subtensor
docker compose stop validator && \
docker compose build --no-cache validator && \
docker compose up -d validator && \
docker compose logs -f validator
Validator and miner use SQLite databases stored in their data volumes.
# Check validator database exists
docker exec basilica-validator ls -la /opt/basilica/data/validator.db
# Check miner database exists
docker exec basilica-miner ls -la /var/lib/basilica/miner/data/miner.db
# Reset validator database (will be recreated on startup)
docker compose stop validator
docker volume rm localnet_validator-data
docker compose up -d validator
# Reset miner database
docker compose stop miner
docker volume rm localnet_miner-data
docker compose up -d miner
# Check if services can reach each other
docker exec basilica-validator curl -s http://subtensor:9944/health
docker exec basilica-miner curl -s http://validator:8080/health
# Check network exists
docker network ls | grep basilica
# Inspect network
docker network inspect localnet_basilica-localnet
# Check wallets exist
ls -la scripts/localnet/wallets/
# Check wallet balance
uvx --from bittensor-cli btcli wallet balance \
--wallet-path scripts/localnet/wallets \
--wallet-name validator \
--network local
# Re-initialize wallets (requires subtensor running)
./init-subnet.sh
./stop.sh --clean # Removes containers, volumes, and network (scripts/localnet/wallets/ is preserved)
./start.sh miner # Fresh start with wallet re-registration
| Error | Cause | Fix |
|---|---|---|
Connection refused ws://subtensor:9944 | Subtensor not ready | Wait for subtensor, check docker compose logs subtensor |
Wallet not found | Wallets not initialized | Run ./init-subnet.sh after subtensor is up |
Registration failed | Insufficient balance | Check wallet balance, re-run ./init-subnet.sh |
Health check failed | Service crashed/starting | Check logs, wait for startup (60s start_period) |
Database connection failed | SQLite file corrupted or missing | Reset service volume: docker volume rm localnet_validator-data and restart |
Port already in use | Another service on port | Stop conflicting service or change port in docker-compose.yml |
Cannot connect to Docker daemon | Docker not running | Start Docker Desktop |
No space left on device | Docker storage full | docker system prune -a |
| Service | Endpoint | Purpose |
|---|---|---|
| Subtensor | ws://localhost:9944 | Chain RPC |
| Subtensor | http://localhost:9944/health | Health check |
| Validator API | http://localhost:8080 | REST API |
| Validator Health | http://localhost:8080/health | Health check |
| Validator Metrics | http://localhost:9090/metrics | Prometheus metrics |
| Miner gRPC | localhost:8092 | Validator communications |
| Miner Axon | localhost:8091 | Bittensor axon |
| Miner Metrics | http://localhost:9091/metrics | Prometheus metrics |
| Prometheus | http://localhost:9099 | Metrics UI |
| Grafana | http://localhost:3000 | Dashboards (admin/admin) |
| Volume | Mount Point | Purpose |
|---|---|---|
subtensor-data | /tmp/alice | Chain state |
validator-data | /opt/basilica/data | Validator SQLite DB + state |
validator-ssh | /opt/basilica/data/ssh_keys | SSH keys |
miner-data | /var/lib/basilica/miner/data | Miner SQLite DB + state |
miner-ssh | /var/lib/basilica/miner/.ssh | SSH keys |
prometheus-data | /prometheus | Metrics storage |
grafana-data | /var/lib/grafana | Dashboards |
| Host Path | Container Path | Service |
|---|---|---|
configs/validator.toml | /app/validator.toml | validator |
configs/miner.toml | /app/miner.toml | miner |
configs/prometheus.yml | /etc/prometheus/prometheus.yml | prometheus |
wallets/ | /root/.bittensor/wallets | validator |
wallets/ | /var/lib/basilica/miner/.bittensor/wallets | miner |