chore: enhance .gitignore and remove obsolete documentation files - Reorganize .gitignore with categorized sections for better maintainability - Add comprehensive ignore patterns for Python, Node.js, databases, logs, and build artifacts - Add project-specific ignore rules for coordinator, explorer, and deployment files - Remove outdated documentation: BITCOIN-WALLET-SETUP.md, LOCAL_ASSETS_SUMMARY.md, README-CONTAINER-DEPLOYMENT.md, README-DOMAIN-DEPLOYMENT.md ```
7.2 KiB
7.2 KiB
Blockchain Operations Skill
This skill provides standardized procedures for managing AITBC blockchain nodes, verifying transactions, and optimizing mining operations, including end-to-end Ollama GPU inference testing.
Overview
The blockchain operations skill ensures reliable management of all blockchain-related components including node synchronization, transaction processing, mining operations, and network health monitoring. It also includes comprehensive testing scenarios for Ollama-based GPU inference workflows.
Capabilities
Node Management
- Node deployment and configuration
- Sync status monitoring
- Peer management
- Network diagnostics
Transaction Operations
- Transaction verification and debugging
- Gas optimization
- Batch processing
- Mempool management
- Receipt generation and verification
Mining Operations
- Mining performance optimization
- Pool management
- Reward tracking
- Hash rate optimization
- GPU miner service management
Ollama GPU Inference Testing
- End-to-end job submission and processing
- Miner registration and heartbeat monitoring
- Job lifecycle management (submit → running → completed)
- Receipt generation with payment amounts
- Blockchain explorer verification
Network Health
- Network connectivity checks
- Block propagation monitoring
- Fork detection and resolution
- Consensus validation
Common Workflows
1. Node Health Check
- Verify node synchronization
- Check peer connections
- Validate consensus rules
- Monitor resource usage
2. Transaction Debugging
- Trace transaction lifecycle
- Verify gas usage
- Check receipt status
- Debug failed transactions
3. Mining Optimization
- Analyze mining performance
- Optimize GPU settings
- Configure mining pools
- Monitor profitability
4. Network Diagnostics
- Test connectivity to peers
- Analyze block propagation
- Detect network partitions
- Validate consensus state
5. Ollama End-to-End Testing
# Setup environment
cd /home/oib/windsurf/aitbc
source .venv/bin/activate
# Check all services
./scripts/aitbc-cli.sh health
# Start GPU miner service
sudo systemctl restart aitbc-host-gpu-miner.service
sudo journalctl -u aitbc-host-gpu-miner.service -f
# Submit inference job
./scripts/aitbc-cli.sh submit inference \
--prompt "Explain quantum computing" \
--model llama3.2:latest \
--ttl 900
# Monitor job progress
./scripts/aitbc-cli.sh status <job_id>
# View blockchain receipt
./scripts/aitbc-cli.sh browser --receipt-limit 5
# Verify payment in receipt
./scripts/aitbc-cli.sh receipts --job-id <job_id>
6. Job Lifecycle Testing
- Submission: Client submits job via CLI
- Queued: Job enters queue, waits for miner
- Acquisition: Miner polls and acquires job
- Processing: Miner runs Ollama inference
- Completion: Miner submits result with metrics
- Receipt: System generates signed receipt with payment
- Blockchain: Transaction recorded on blockchain
7. Miner Service Management
# Check miner status
sudo systemctl status aitbc-host-gpu-miner.service
# View miner logs
sudo journalctl -u aitbc-host-gpu-miner.service -n 100
# Restart miner service
sudo systemctl restart aitbc-host-gpu-miner.service
# Run miner manually for debugging
python3 scripts/gpu/gpu_miner_host.py
# Check registered miners
./scripts/aitbc-cli.sh admin-miners
# View active jobs
./scripts/aitbc-cli.sh admin-jobs
Testing Scenarios
Basic Inference Test
# Submit simple inference
./scripts/aitbc-cli.sh submit inference \
--prompt "Hello AITBC" \
--model llama3.2:latest
# Expected flow:
# 1. Job submitted → RUNNING
# 2. Miner picks up job
# 3. Ollama processes inference
# 4. Job status → COMPLETED
# 5. Receipt generated with payment amount
Stress Testing Multiple Jobs
# Submit multiple jobs concurrently
for i in {1..5}; do
./scripts/aitbc-cli.sh submit inference \
--prompt "Test job $i: Explain AI" \
--model mistral:latest &
done
# Monitor all jobs
./scripts/aitbc-cli.sh admin-jobs
Payment Verification Test
# Submit job with specific model
./scripts/aitbc-cli.sh submit inference \
--prompt "Detailed analysis" \
--model deepseek-r1:14b
# After completion, check receipt
./scripts/aitbc-cli.sh receipts --limit 1
# Verify transaction on blockchain
./scripts/aitbc-cli.sh browser --receipt-limit 1
# Expected: Receipt shows units, unit_price, and total price
Supporting Files
node-health.sh- Comprehensive node health monitoringtx-tracer.py- Transaction tracing and debugging toolmining-optimize.sh- GPU mining optimization scriptnetwork-diag.py- Network diagnostics and analysissync-monitor.py- Real-time sync status monitorscripts/gpu/gpu_miner_host.py- Host GPU miner client with Ollama integrationaitbc-cli.sh- Bash CLI wrapper for all operationsollama-test-scenario.md- Detailed Ollama testing documentation
Usage
This skill is automatically invoked when you request blockchain-related operations such as:
- "check node status"
- "debug transaction"
- "optimize mining"
- "network diagnostics"
- "test ollama inference"
- "submit gpu job"
- "verify payment receipt"
Safety Features
- Automatic backup of node data before operations
- Validation of all transactions before processing
- Safe mining parameter adjustments
- Rollback capability for configuration changes
- Job expiration handling (15 minutes TTL)
- Graceful miner shutdown and restart
Prerequisites
- AITBC node installed and configured
- GPU drivers installed (for mining operations)
- Ollama installed and running with models
- Proper network connectivity
- Sufficient disk space for blockchain data
- Virtual environment with dependencies installed
- systemd service for GPU miner
Troubleshooting
Jobs Stuck in RUNNING
- Check if miner is running:
sudo systemctl status aitbc-host-gpu-miner.service - View miner logs:
sudo journalctl -u aitbc-host-gpu-miner.service -f - Verify coordinator API:
./scripts/aitbc-cli.sh health - Cancel stuck jobs:
./scripts/aitbc-cli.sh cancel <job_id>
No Payment in Receipt
- Check job completed successfully
- Verify metrics include duration or units
- Check receipt service logs
- Ensure miner submitted result with metrics
Miner Not Processing Jobs
- Restart miner service
- Check Ollama is running:
curl http://localhost:11434/api/tags - Verify GPU availability:
nvidia-smi - Check miner registration:
./scripts/aitbc-cli.sh admin-miners
Key Components
Coordinator API Endpoints
- POST /v1/jobs/create - Submit new job
- GET /v1/jobs/{id}/status - Check job status
- POST /v1/miners/register - Register miner
- POST /v1/miners/poll - Poll for jobs
- POST /v1/miners/{id}/result - Submit job result
CLI Commands
submit- Submit inference jobstatus- Check job statusbrowser- View blockchain statereceipts- List payment receiptsadmin-miners- List registered minersadmin-jobs- List all jobscancel- Cancel stuck job
Receipt Structure
{
"receipt_id": "...",
"job_id": "...",
"provider": "REDACTED_MINER_KEY",
"client": "REDACTED_CLIENT_KEY",
"status": "completed",
"units": 1.234,
"unit_type": "gpu_seconds",
"unit_price": 0.02,
"price": 0.02468,
"signature": "..."
}