Files
aitbc/docs/project/cli/CLI_DOCUMENTATION.md
aitbc 522655ef92
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
Move blockchain app READMEs to centralized documentation
- 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
2026-04-23 12:24:48 +02:00

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