BREAKING CHANGE: Split 64KB monolithic workflow into 6 focused modules New Modular Structure: - MULTI_NODE_MASTER_INDEX.md: Central navigation hub for all modules - multi-node-blockchain-setup-core.md: Essential setup steps and basic configuration - multi-node-blockchain-operations.md: Daily operations, monitoring, troubleshooting - multi-node-blockchain-advanced.md: Smart contracts, security testing, performance optimization - multi-node-blockchain-production.md: Production deployment, security hardening, scaling - multi-node-blockchain-marketplace.md: Marketplace testing, GPU provider testing, AI operations - multi-node-blockchain-reference.md: Configuration reference, verification commands, best practices Benefits Achieved: ✅ Improved Maintainability: Each module focuses on specific functionality ✅ Enhanced Usability: Users can load only needed modules ✅ Better Documentation: Each module has focused troubleshooting guides ✅ Clear Dependencies: Explicit module relationships and learning paths ✅ Better Searchability: Find relevant information faster Migration Features: - Original 64KB workflow (2,098 lines) deprecated but preserved - Clear migration guide with section mapping - Master index provides navigation by task, role, and complexity - Cross-references between all modules - Quick start commands for each module Learning Paths: - New Users: Core → Operations → Reference - System Administrators: Core → Operations → Advanced → Reference - Production Engineers: Core → Operations → Advanced → Production → Reference - AI Engineers: Core → Operations → Advanced → Marketplace → Reference Technical Improvements: - Reduced file complexity from 2,098 lines to ~300 lines per module - Module-specific troubleshooting tables and command references - Focused prerequisite chains and dependency management - Production-ready configurations and security hardening - Comprehensive AI operations and marketplace testing Files: - New: 6 focused workflow modules + master index - Updated: Original monolithic workflow (deprecated with migration guide) - Preserved: All existing functionality in modular format - Added: Cross-references, learning paths, and quick navigation
137 lines
3.4 KiB
Markdown
Executable File
137 lines
3.4 KiB
Markdown
Executable File
---
|
|
description: Complete Ollama GPU provider test workflow from client submission to blockchain recording
|
|
---
|
|
|
|
# Ollama GPU Provider Test Workflow
|
|
|
|
This workflow executes the complete end-to-end test for Ollama GPU inference jobs, including payment processing and blockchain transaction recording.
|
|
|
|
## Prerequisites
|
|
|
|
// turbo
|
|
- Ensure all services are running: coordinator, GPU miner, Ollama, blockchain node
|
|
- Verify home directory wallets are configured
|
|
- Install the enhanced CLI with multi-wallet support
|
|
|
|
## Steps
|
|
|
|
### 1. Environment Check
|
|
```bash
|
|
# Check service health
|
|
./scripts/aitbc-cli.sh health
|
|
curl -s http://localhost:11434/api/tags
|
|
systemctl is-active aitbc-host-gpu-miner.service
|
|
|
|
# Verify CLI installation
|
|
aitbc --help
|
|
aitbc wallet --help
|
|
```
|
|
|
|
### 2. Setup Test Wallets
|
|
```bash
|
|
# Create test wallets if needed
|
|
aitbc wallet create test-client --type simple
|
|
aitbc wallet create test-miner --type simple
|
|
|
|
# Switch to test client wallet
|
|
aitbc wallet switch test-client
|
|
aitbc wallet info
|
|
```
|
|
|
|
### 3. Run Complete Test
|
|
```bash
|
|
# Execute the full workflow test
|
|
cd /home/oib/windsurf/aitbc/home
|
|
python3 test_ollama_blockchain.py
|
|
```
|
|
|
|
### 4. Verify Results
|
|
The test will display:
|
|
- Initial wallet balances
|
|
- Job submission and ID
|
|
- Real-time job progress
|
|
- Inference result from Ollama
|
|
- Receipt details with pricing
|
|
- Payment confirmation
|
|
- Final wallet balances
|
|
- Blockchain transaction status
|
|
|
|
### 5. Manual Verification (Optional)
|
|
```bash
|
|
# Check recent receipts using CLI
|
|
aitbc marketplace receipts list --limit 3
|
|
|
|
# Or via API
|
|
curl -H "X-Api-Key: client_dev_key_1" \
|
|
http://127.0.0.1:18000/v1/explorer/receipts?limit=3
|
|
|
|
# Verify blockchain transaction
|
|
curl -s http://aitbc.keisanki.net/rpc/transactions | \
|
|
python3 -c "import sys, json; data=json.load(sys.stdin); \
|
|
[print(f\"TX: {t['tx_hash']} - Block: {t['block_height']}\") \
|
|
for t in data.get('transactions', [])[-5:]]"
|
|
```
|
|
|
|
## Expected Output
|
|
|
|
```
|
|
🚀 Ollama GPU Provider Test with Home Directory Users
|
|
============================================================
|
|
|
|
💰 Initial Wallet Balances:
|
|
----------------------------------------
|
|
Client: 9365.0 AITBC
|
|
Miner: 1525.0 AITBC
|
|
|
|
📤 Submitting Inference Job:
|
|
----------------------------------------
|
|
Prompt: What is the capital of France?
|
|
Model: llama3.2:latest
|
|
✅ Job submitted: <job_id>
|
|
|
|
⏳ Monitoring Job Progress:
|
|
----------------------------------------
|
|
State: QUEUED
|
|
State: RUNNING
|
|
State: COMPLETED
|
|
|
|
📊 Job Result:
|
|
----------------------------------------
|
|
Output: The capital of France is Paris.
|
|
|
|
🧾 Receipt Information:
|
|
Receipt ID: <receipt_id>
|
|
Provider: miner_dev_key_1
|
|
Units: <gpu_seconds> gpu_seconds
|
|
Unit Price: 0.02 AITBC
|
|
Total Price: <price> AITBC
|
|
|
|
⛓️ Checking Blockchain:
|
|
----------------------------------------
|
|
✅ Transaction found on blockchain!
|
|
TX Hash: <tx_hash>
|
|
Block: <block_height>
|
|
|
|
💰 Final Wallet Balances:
|
|
----------------------------------------
|
|
Client: <new_balance> AITBC
|
|
Miner: <new_balance> AITBC
|
|
|
|
✅ Test completed successfully!
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
If the test fails:
|
|
1. Check GPU miner service status
|
|
2. Verify Ollama is running
|
|
3. Ensure coordinator API is accessible
|
|
4. Check wallet configurations
|
|
5. Verify blockchain node connectivity
|
|
6. Ensure CLI is properly installed with `pip install -e .`
|
|
|
|
## Related Skills
|
|
|
|
- ollama-gpu-provider - Detailed test documentation
|
|
- blockchain-operations - Blockchain node management
|