Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 10s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 4s
Documentation Validation / validate-docs (push) Successful in 8s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Successful in 38s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 2s
P2P Network Verification / p2p-verification (push) Successful in 3s
Security Scanning / security-scan (push) Successful in 40s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 15s
Smart Contract Tests / lint-solidity (push) Successful in 8s
- Relocate blockchain-event-bridge README content to docs/apps/blockchain/blockchain-event-bridge.md - Relocate blockchain-explorer README content to docs/apps/blockchain/blockchain-explorer.md - Replace app READMEs with redirect notices pointing to new documentation location - Consolidate documentation in central docs/ directory for better organization
453 lines
11 KiB
Markdown
453 lines
11 KiB
Markdown
# AITBC CLI Documentation
|
|
|
|
**Project Status**: ✅ **100% COMPLETED** (v0.4.0 - April 23, 2026)
|
|
|
|
## Overview
|
|
|
|
The AITBC CLI (Command Line Interface) is a comprehensive tool for managing the AITBC blockchain network, AI operations, marketplace interactions, agent workflows, and advanced economic intelligence operations. With the unified command hierarchy, the CLI provides a clean, organized interface with enterprise-grade security, monitoring, and type safety.
|
|
|
|
## 🎉 **Unified Command Hierarchy**
|
|
|
|
### **✅ All CLI Groups: Fully Operational**
|
|
- **Wallet Commands**: Create, list, balance, send, transactions, import, export, delete, rename, batch
|
|
- **Blockchain Commands**: Info, analytics, multi-chain support
|
|
- **Network Commands**: Status, peer management, sync monitoring
|
|
- **Market Commands**: List, create, search, bid, accept-bid
|
|
- **AI Commands**: Submit, status, results, parallel, ensemble, multimodal, fusion
|
|
- **Mining Commands**: Start, stop, status
|
|
- **System Commands**: Status, health checks, configuration
|
|
- **Agent Commands**: Workflow execution, OpenClaw integration
|
|
- **OpenClaw Commands**: Status, cross-node communication
|
|
- **Workflow Commands**: Run, parameters, execution tracking
|
|
- **Resource Commands**: Status, allocate, deallocate
|
|
- **Simulate Commands**: Blockchain, wallets, price, network, AI jobs
|
|
|
|
### **🚀 Unified Command Structure**
|
|
|
|
The CLI uses a nested command hierarchy for better organization:
|
|
|
|
```
|
|
aitbc-cli <group> <action> [options]
|
|
```
|
|
|
|
**Public Top-Level Groups:**
|
|
- `wallet` - Wallet management
|
|
- `blockchain` - Blockchain operations
|
|
- `network` - Network status and monitoring
|
|
- `market` - Marketplace operations
|
|
- `ai` - AI job operations
|
|
- `mining` - Mining operations
|
|
- `system` - System status and configuration
|
|
- `agent` - Agent operations
|
|
- `openclaw` - OpenClaw agent integration
|
|
- `workflow` - Workflow execution
|
|
- `resource` - Resource management
|
|
- `simulate` - Simulation tools
|
|
|
|
### **🔄 Legacy Command Support**
|
|
|
|
For backward compatibility, legacy flat commands are automatically normalized to the new structure:
|
|
|
|
| Legacy Command | New Structure |
|
|
|---------------|---------------|
|
|
| `create` | `wallet create` |
|
|
| `list` | `wallet list` |
|
|
| `balance` | `wallet balance` |
|
|
| `transactions` | `wallet transactions` |
|
|
| `send` | `wallet send` |
|
|
| `import` | `wallet import` |
|
|
| `export` | `wallet export` |
|
|
| `chain` | `blockchain info` |
|
|
| `market-list` | `market list` |
|
|
| `ai-submit` | `ai submit` |
|
|
| `mine-start` | `mining start` |
|
|
| `mine-stop` | `mining stop` |
|
|
| `mine-status` | `mining status` |
|
|
|
|
## Installation
|
|
|
|
### Prerequisites
|
|
- Python 3.13+
|
|
- Virtual environment at `/opt/aitbc/venv`
|
|
- AITBC services running on ports 8000, 8001, 8006
|
|
|
|
### Setup
|
|
```bash
|
|
cd /opt/aitbc
|
|
source venv/bin/activate
|
|
./aitbc-cli --version
|
|
```
|
|
|
|
## Command Structure
|
|
|
|
### Core Commands
|
|
|
|
#### Wallet Management
|
|
```bash
|
|
# Create new wallet
|
|
./aitbc-cli wallet create wallet-name your-password
|
|
|
|
# List all wallets
|
|
./aitbc-cli wallet list
|
|
|
|
# Get wallet balance
|
|
./aitbc-cli wallet balance wallet-name
|
|
|
|
# Send AIT
|
|
./aitbc-cli wallet send from-wallet to-wallet 100 your-password
|
|
|
|
# Get wallet transactions
|
|
./aitbc-cli wallet transactions wallet-name --limit 10
|
|
```
|
|
|
|
#### Blockchain Operations
|
|
```bash
|
|
# Get blockchain information
|
|
./aitbc-cli blockchain info [--rpc-url http://localhost:8006]
|
|
|
|
# Get network status
|
|
./aitbc-cli network status
|
|
|
|
# Get blockchain analytics
|
|
./aitbc-cli analytics
|
|
```
|
|
|
|
#### AI Operations
|
|
```bash
|
|
# Submit AI job
|
|
./aitbc-cli ai submit --wallet wallet-name --type inference --prompt "Generate image" --payment 100
|
|
|
|
# Check AI job status
|
|
./aitbc-cli ai status --job-id job-id
|
|
|
|
# Get AI job results
|
|
./aitbc-cli ai results --job-id job-id
|
|
|
|
# Advanced AI Operations - Phase 1 Completed
|
|
./aitbc-cli ai submit --wallet genesis-ops --type parallel --prompt "Complex AI pipeline for medical diagnosis" --payment 500
|
|
./aitbc-cli ai submit --wallet genesis-ops --type ensemble --prompt "Parallel AI processing with ensemble validation" --payment 600
|
|
|
|
# Advanced AI Operations - Phase 2 Completed
|
|
./aitbc-cli ai submit --wallet genesis-ops --type multimodal --prompt "Multi-modal customer feedback analysis with cross-modal attention" --payment 1000
|
|
./aitbc-cli ai submit --wallet genesis-ops --type fusion --prompt "Cross-modal fusion with joint reasoning and consensus validation" --payment 1200
|
|
|
|
# Advanced AI Operations - Phase 3 Completed
|
|
./aitbc-cli ai submit --wallet genesis-ops --type resource-allocation --prompt "Dynamic resource allocation system with GPU pools and demand forecasting" --payment 800
|
|
./aitbc-cli ai submit --wallet genesis-ops --type performance-tuning --prompt "AI performance optimization for sub-100ms inference latency" --payment 1000
|
|
```
|
|
|
|
#### Marketplace Operations
|
|
```bash
|
|
# List marketplace items
|
|
./aitbc-cli market list
|
|
|
|
# Create marketplace listing
|
|
./aitbc-cli market create --type ai-inference --price 100 --description "Description" --wallet wallet-name
|
|
|
|
# Search marketplace
|
|
./aitbc-cli market search --query "search term"
|
|
|
|
# View my listings
|
|
./aitbc-cli market my-listings --wallet wallet-name
|
|
```
|
|
|
|
#### Resource Management
|
|
```bash
|
|
# Get resource status
|
|
./aitbc-cli resource --action status
|
|
|
|
# Allocate resources
|
|
./aitbc-cli resource --action allocate --agent-id agent-name --cpu 4 --memory 8192 --duration 3600
|
|
```
|
|
|
|
#### Mining Operations
|
|
```bash
|
|
# Start mining
|
|
./aitbc-cli mine-start
|
|
|
|
# Stop mining
|
|
./aitbc-cli mine-stop
|
|
|
|
# Check mining status
|
|
./aitbc-cli mine-status
|
|
```
|
|
|
|
### Advanced Commands
|
|
|
|
#### Agent Operations
|
|
```bash
|
|
# Run agent workflow
|
|
./aitbc-cli agent --agent agent-name --message "Task description" --thinking high
|
|
|
|
# OpenClaw operations
|
|
./aitbc-cli openclaw --action status
|
|
```
|
|
|
|
#### Workflow Operations
|
|
```bash
|
|
# Run workflow
|
|
./aitbc-cli workflow --name workflow-name --parameters "param1=value1,param2=value2"
|
|
```
|
|
|
|
#### Simulation Commands
|
|
```bash
|
|
# Simulate blockchain
|
|
./aitbc-cli simulate blockchain --blocks 10 --transactions 50 --delay 1.0
|
|
|
|
# Simulate wallets
|
|
./aitbc-cli simulate wallets --wallets 5 --balance 1000 --transactions 20
|
|
|
|
# Simulate price movements
|
|
./aitbc-cli simulate price --price 100 --volatility 0.05 --timesteps 100
|
|
|
|
# Simulate network
|
|
./aitbc-cli simulate network --nodes 3 --network-delay 0.1 --failure-rate 0.05
|
|
|
|
# Simulate AI jobs
|
|
./aitbc-cli simulate ai-jobs --jobs 10 --models "text-generation,image-generation" --duration-range "30-300"
|
|
```
|
|
|
|
## Configuration
|
|
|
|
### Environment Variables
|
|
```bash
|
|
export AITBC_COORDINATOR_URL="http://localhost:8000"
|
|
export AITBC_API_KEY="your-api-key"
|
|
export AITBC_RPC_URL="http://localhost:8006"
|
|
```
|
|
|
|
### Configuration File
|
|
The CLI uses configuration from `/etc/aitbc/.env` by default.
|
|
|
|
### Command Line Options
|
|
```bash
|
|
# Output format
|
|
./aitbc-cli --output table|json|yaml|csv command
|
|
|
|
# Verbose output
|
|
./aitbc-cli --verbose command
|
|
|
|
# Debug mode
|
|
./aitbc-cli --debug command
|
|
|
|
# Test mode
|
|
./aitbc-cli --test-mode command
|
|
|
|
# Dry run
|
|
./aitbc-cli --dry-run command
|
|
|
|
# Custom timeout
|
|
./aitbc-cli --timeout 60 command
|
|
|
|
# Skip SSL verification (testing only)
|
|
./aitbc-cli --no-verify command
|
|
```
|
|
|
|
## Service Integration
|
|
|
|
### Service Endpoints
|
|
- **Coordinator API**: http://localhost:8000
|
|
- **Exchange API**: http://localhost:8001
|
|
- **Blockchain RPC**: http://localhost:8006
|
|
- **Ollama**: http://localhost:11434
|
|
|
|
### Health Checks
|
|
```bash
|
|
# Check all services
|
|
curl -s http://localhost:8000/health
|
|
curl -s http://localhost:8001/api/health
|
|
curl -s http://localhost:8006/health
|
|
curl -s http://localhost:11434/api/tags
|
|
```
|
|
|
|
## Examples
|
|
|
|
### Basic Workflow
|
|
```bash
|
|
# 1. Create wallet
|
|
./aitbc-cli wallet create my-wallet my-password
|
|
|
|
# 2. Fund wallet (from existing wallet)
|
|
./aitbc-cli wallet send genesis-ops my-wallet 1000 123
|
|
|
|
# 3. Submit AI job
|
|
./aitbc-cli ai submit --wallet my-wallet --type inference --prompt "Generate a landscape image" --payment 50
|
|
|
|
# 4. Check job status
|
|
./aitbc-cli ai status --job-id latest
|
|
|
|
# 5. Get results
|
|
./aitbc-cli ai results --job-id latest
|
|
```
|
|
|
|
### Marketplace Operations
|
|
```bash
|
|
# 1. Create service listing
|
|
./aitbc-cli market create --type ai-inference --price 100 --description "High-quality image generation service" --wallet provider-wallet
|
|
|
|
# 2. List available services
|
|
./aitbc-cli market list
|
|
|
|
# 3. Bid on service
|
|
./aitbc-cli market bid --service-id service-id --amount 120 --wallet customer-wallet
|
|
|
|
# 4. Accept bid
|
|
./aitbc-cli market accept-bid --service-id service-id --bid-id bid-id --wallet provider-wallet
|
|
```
|
|
|
|
### Simulation Examples
|
|
```bash
|
|
# Simulate blockchain with 100 blocks
|
|
./aitbc-cli simulate blockchain --blocks 100 --transactions 100 --delay 0.1
|
|
|
|
# Simulate price volatility
|
|
./aitbc-cli simulate price --price 100 --volatility 0.1 --timesteps 1000
|
|
|
|
# Simulate network failures
|
|
./aitbc-cli simulate network --nodes 5 --failure-rate 0.1 --network-delay 0.5
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Common Issues
|
|
|
|
#### Command Not Found
|
|
```bash
|
|
# Check CLI installation
|
|
./aitbc-cli --version
|
|
|
|
# Check virtual environment
|
|
source venv/bin/activate
|
|
```
|
|
|
|
#### Service Connection Errors
|
|
```bash
|
|
# Check service status
|
|
systemctl status aitbc-coordinator-api.service
|
|
systemctl status aitbc-exchange-api.service
|
|
systemctl status aitbc-blockchain-node.service
|
|
|
|
# Check network connectivity
|
|
curl -s http://localhost:8000/health
|
|
```
|
|
|
|
#### Permission Errors
|
|
```bash
|
|
# Check file permissions
|
|
ls -la /opt/aitbc/aitbc-cli
|
|
|
|
# Fix permissions
|
|
chmod +x /opt/aitbc/aitbc-cli
|
|
```
|
|
|
|
### Debug Mode
|
|
```bash
|
|
# Enable debug output
|
|
./aitbc-cli --debug --verbose command
|
|
|
|
# Test with mock data
|
|
./aitbc-cli --test-mode command
|
|
```
|
|
|
|
## Development
|
|
|
|
### Running Tests
|
|
```bash
|
|
# Run all tests
|
|
cd /opt/aitbc
|
|
source venv/bin/activate
|
|
python -m pytest cli/tests/ -v
|
|
|
|
# Run specific test
|
|
python -m pytest cli/tests/test_cli_comprehensive.py::TestSimulateCommand -v
|
|
|
|
# Run with coverage
|
|
python -m pytest cli/tests/ --cov=cli --cov-report=html
|
|
```
|
|
|
|
### Adding New Commands
|
|
1. Create command file in `cli/aitbc_cli/commands/`
|
|
2. Import command in `cli/core/main.py`
|
|
3. Add tests in `cli/tests/`
|
|
4. Update documentation
|
|
|
|
### Code Style
|
|
```bash
|
|
# Format code
|
|
black cli/
|
|
|
|
# Lint code
|
|
flake8 cli/
|
|
|
|
# Type checking
|
|
mypy cli/
|
|
```
|
|
|
|
## API Reference
|
|
|
|
### Command Options
|
|
|
|
#### Global Options
|
|
- `--url`: Override coordinator URL
|
|
- `--api-key`: Set API key
|
|
- `--output`: Set output format (table, json, yaml, csv)
|
|
- `--verbose`: Increase verbosity
|
|
- `--debug`: Enable debug mode
|
|
- `--test-mode`: Use test endpoints
|
|
- `--dry-run`: Show what would be done
|
|
- `--timeout`: Set request timeout
|
|
- `--no-verify`: Skip SSL verification
|
|
|
|
#### Command-Specific Options
|
|
Each command has specific options documented in the help:
|
|
```bash
|
|
./aitbc-cli command --help
|
|
```
|
|
|
|
### Exit Codes
|
|
- `0`: Success
|
|
- `1`: General error
|
|
- `2`: Command line error
|
|
|
|
## Version History
|
|
|
|
### v0.2.2 (Current)
|
|
- Unified CLI with 20+ commands
|
|
- Enhanced output formatting
|
|
- AI operations integration
|
|
- Marketplace functionality
|
|
- Resource management
|
|
- Simulation commands
|
|
- OpenClaw agent integration
|
|
|
|
### v0.2.1
|
|
- Project consolidation to `/opt/aitbc`
|
|
- Enhanced service integration
|
|
- Improved error handling
|
|
|
|
### v0.2.0
|
|
- Modular command structure
|
|
- Enhanced configuration management
|
|
- Performance improvements
|
|
|
|
### v0.1.0
|
|
- Initial CLI implementation
|
|
- Basic wallet and blockchain operations
|
|
|
|
## Support
|
|
|
|
For issues and questions:
|
|
1. Check troubleshooting section
|
|
2. Run with `--debug --verbose` for detailed output
|
|
3. Check service health status
|
|
4. Review logs in `/var/log/aitbc/`
|
|
|
|
## Contributing
|
|
|
|
1. Fork the repository
|
|
2. Create feature branch
|
|
3. Add tests for new functionality
|
|
4. Ensure all tests pass
|
|
5. Update documentation
|
|
6. Submit pull request
|