✅ Phase 0: Pre-implementation checklist completed - Environment configurations (dev/staging/production) - Directory structure setup (logs, backups, monitoring) - Virtual environment with dependencies ✅ Master deployment script created - Single command deployment with validation - Progress tracking and rollback capability - Health checks and deployment reporting ✅ Validation script created - Module import validation - Basic functionality testing - Configuration and script verification ✅ Implementation fixes - Fixed dataclass import in consensus keys - Fixed async function syntax in tests - Updated deployment script for virtual environment 🚀 Ready for deployment: ./scripts/deploy-mesh-network.sh dev
AITBC Development Environment Scripts
This directory contains scripts for managing the AITBC development environment, including incus containers and systemd services.
📋 Available Scripts
🔧 start-aitbc-dev.sh
Starts incus containers and AITBC systemd services on localhost.
Features:
- Starts incus containers:
aitbcandaitbc1 - Starts all local systemd services matching
aitbc-* - Checks service health and port status
- Tests health endpoints
- Provides colored output and status reporting
Usage:
./scripts/start-aitbc-dev.sh
🛑 stop-aitbc-dev.sh
Stops incus containers and AITBC systemd services on localhost.
Features:
- Stops incus containers:
aitbcandaitbc1 - Stops all local systemd services matching
aitbc-* - Verifies services are stopped
- Provides colored output and status reporting
Usage:
./scripts/stop-aitbc-dev.sh
🚀 start-aitbc-full.sh
Comprehensive startup script for the complete AITBC development environment.
Features:
- Starts incus containers:
aitbcandaitbc1 - Starts services inside containers
- Starts all local systemd services matching
aitbc-* - Tests connectivity to container services
- Provides detailed status reporting
- Shows container IP addresses
- Tests health endpoints
Services Started:
- Local Services: All
aitbc-*systemd services - Container Services:
aitbc-coordinator-apiaitbc-wallet-daemonaitbc-blockchain-node
Usage:
./scripts/start-aitbc-full.sh
🎯 Prerequisites
Required Commands:
incus- Container managementsystemctl- Systemd service managementcurl- Health endpoint testingnetstat- Port checking
Required Containers:
The scripts expect these incus containers to exist:
aitbcaitbc1
Required Services:
The scripts look for systemd services matching the pattern aitbc-*.
📊 Service Ports
| Port | Service | Description |
|---|---|---|
| 8000 | Coordinator API | Main API service |
| 8001 | Exchange API | Trading functionality |
| 8002 | Marketplace API | GPU compute marketplace |
| 8003 | Wallet API | Digital wallet management |
| 8004 | Explorer | Blockchain explorer |
| 8006 | Blockchain RPC | Blockchain node RPC |
| 8007 | Web UI | Web user interface |
| 8010 | GPU Service | GPU-accelerated processing |
| 8011 | Learning Service | Machine learning |
| 8012 | Agent Coordinator | Agent orchestration |
| 8013 | Agent Registry | Agent registration |
| 8014 | OpenClaw Service | Edge computing |
| 8015 | AI Service | Advanced AI capabilities |
| 8020 | Multimodal Service | Multi-modal processing |
| 8021 | Modality Optimization | Modality optimization |
| 8081 | Blockchain Node 1 | Blockchain instance |
| 8082 | Blockchain Node 2 | Blockchain instance |
| 8006 | Coordinator API (dev) | Development API |
🔍 Health Endpoints
The scripts test these health endpoints:
http://localhost:8000/health- Coordinator APIhttp://localhost:8001/api/health- Exchange APIhttp://localhost:8002/health- Marketplace APIhttp://localhost:8003/health- Wallet APIhttp://localhost:8004/health- Explorerhttp://localhost:8007/- Web UIhttp://localhost:8010/health- GPU Servicehttp://localhost:8011/health- Learning Servicehttp://localhost:8012/health- Agent Coordinatorhttp://localhost:8013/health- Agent Registryhttp://localhost:8014/health- OpenClaw Servicehttp://localhost:8015/health- AI Servicehttp://localhost:8020/health- Multimodal Servicehttp://localhost:8021/health- Modality Optimization
📝 Output Examples
Success Output:
[INFO] Starting AITBC Development Environment...
[INFO] Starting incus containers...
[SUCCESS] Container aitbc started successfully
[SUCCESS] Container aitbc1 started successfully
[INFO] Starting AITBC systemd services on localhost...
[SUCCESS] Service aitbc-coordinator-api started successfully
[SUCCESS] Service aitbc-wallet-daemon started successfully
[INFO] Checking service status...
[SUCCESS] aitbc-coordinator-api: RUNNING
[SUCCESS] aitbc-wallet-daemon: RUNNING
[SUCCESS] AITBC Development Environment startup complete!
Service Status:
[INFO] Checking AITBC service ports...
[SUCCESS] Coordinator API (port 8000): RUNNING
[SUCCESS] Exchange API (port 8001): RUNNING
[SUCCESS] Marketplace API (port 8002): RUNNING
[SUCCESS] Wallet API (port 8003): RUNNING
[SUCCESS] Explorer (port 8004): RUNNING
[SUCCESS] Blockchain RPC (port 8006): RUNNING
[SUCCESS] Web UI (port 8007): RUNNING
[SUCCESS] GPU Service (port 8010): RUNNING
[SUCCESS] Learning Service (port 8011): RUNNING
[SUCCESS] Agent Coordinator (port 8012): RUNNING
[SUCCESS] Agent Registry (port 8013): RUNNING
[SUCCESS] OpenClaw Service (port 8014): RUNNING
[SUCCESS] AI Service (port 8015): RUNNING
[SUCCESS] Multimodal Service (port 8020): RUNNING
[SUCCESS] Modality Optimization (port 8021): RUNNING
🛠️ Troubleshooting
Common Issues:
-
Container not found:
[ERROR] Container aitbc not found. Please create it first.Solution: Create the incus containers first:
incus launch images:ubuntu/22.04 aitbc incus launch images:ubuntu/22.04 aitbc1 -
Service not found:
[WARNING] No AITBC services found on localhostSolution: Install AITBC services or check if they're named correctly.
-
Port already in use:
[WARNING] Service aitbc-coordinator-api is already runningSolution: This is normal - the script detects already running services.
-
Permission denied:
[ERROR] Failed to start service aitbc-coordinator-apiSolution: Run with sudo or check user permissions.
Debug Commands:
# Check all AITBC services
systemctl list-units | grep aitbc-
# Check container status
incus list
# View service logs
journalctl -f -u aitbc-coordinator-api
# View container logs
incus exec aitbc -- journalctl -f -u aitbc-coordinator-api
# Check port usage
netstat -tlnp | grep :800
🔄 Workflow
Development Setup:
- Create incus containers (if not exists)
- Install AITBC services in containers
- Install AITBC systemd services locally
- Run
./scripts/start-aitbc-full.sh
Daily Development:
./scripts/start-aitbc-full.sh- Start everything- Work on AITBC development
./scripts/stop-aitbc-dev.sh- Stop when done
Testing:
- Start services with scripts
- Test health endpoints
- Check logs for issues
- Stop services when finished
📚 Additional Information
- Container IPs: Scripts show container IP addresses for direct access
- Health Checks: Automatic health endpoint testing
- Service Status: Real-time status reporting
- Error Handling: Graceful error handling with informative messages
🎯 Best Practices
- Use the full script for complete environment setup
- Check the output for any warnings or errors
- Monitor logs when troubleshooting issues
- Stop services when not in use to conserve resources
- Run scripts from the project root for proper path resolution