- Add production genesis initialization scripts - Add keystore management for production - Add production node runner - Add setup production automation - Add AI memory system for development tracking - Add translation cache service - Add development heartbeat monitoring - Update blockchain RPC router - Update coordinator API main configuration - Update secure pickle service - Update claim task script - Update blockchain service configuration - Update gitignore for production files Resolves conflicts by accepting PR branch changes
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 |
|---|---|---|
| 8001 | Coordinator API | Main API service |
| 8002 | Wallet Daemon | Wallet management |
| 8003 | Blockchain RPC | Blockchain node RPC |
| 8000 | Coordinator API (alt) | Alternative API |
| 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:8001/health- Coordinator APIhttp://localhost:8002/health- Wallet Daemonhttp://localhost:8003/health- Blockchain RPC
📝 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 8001): RUNNING
[SUCCESS] Wallet Daemon (port 8002): RUNNING
[WARNING] Blockchain RPC (port 8003): NOT 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