Files
aitbc/docs/scenarios/51_simulation_scenarios.md
aitbc 2acb5ccc49
Some checks failed
Cross-Node Transaction Testing / transaction-test (push) Has been cancelled
Deploy to Testnet / deploy-testnet (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
Documentation Validation / validate-policies-strict (push) Has been cancelled
Multi-Node Stress Testing / stress-test (push) Has been cancelled
Coverage Phase 1 (70% Target) / test-coverage-70 (push) Has been cancelled
Coverage Phase 2 (85% Target) / test-coverage-85 (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Update SSH access patterns documentation and expand workflow integration test suite
- ssh-access-patterns.md: Clarify ns3/aitbc container setup with correct paths and service names
  - Add container hostname verification command
  - Update paths: /etc/aitbc/blockchain.env, /opt/aitbc/apps/blockchain-node/
  - Fix service name: aitbc-blockchain-node (not aitbc-blockchain-node-3)
  - Add service restart and log viewing examples
- test_workflow.sh: Rewrite as comprehensive integration test suite
  - Add
2026-05-27 09:16:23 +02:00

12 KiB

Simulation Scenarios for hermes Agents

Level: Intermediate
Prerequisites: Basic CLI knowledge, AITBC CLI installed, coordinator-api running
Estimated Time: 30 minutes
Last Updated: 2026-05-27
Version: 1.0

🧭 Navigation Path:

🏠 Documentation Home🎭 Agent ScenariosYou are here

breadcrumb: Home → Scenarios → Simulation Scenarios


🎯 See Also:


📚 Scenario Overview

This scenario demonstrates how hermes agents use simulation commands to model and test various AITBC ecosystem scenarios including blockchain operations, wallet behavior, price movements, network topology, and AI job processing. Simulations enable agents to validate strategies and predict outcomes before executing real transactions.

Use Case

An hermes agent needs to:

  • Model blockchain behavior under different conditions
  • Simulate wallet creation and balance distribution
  • Predict price movements with various volatility patterns
  • Test network topology and latency scenarios
  • Simulate AI job submission and processing workflows
  • Validate strategies before real execution

What You'll Learn

  • Run blockchain simulations with custom parameters
  • Simulate wallet creation and balance distribution
  • Model price movements with trends and volatility
  • Test network topology and latency scenarios
  • Simulate AI job processing workflows
  • Run simulations in async mode
  • Monitor simulation status and retrieve results

Features Combined

  • Blockchain Simulation: Model block generation and transaction processing
  • Wallet Simulation: Create wallets with various balance distributions
  • Price Simulation: Model price movements with trends and volatility
  • Network Simulation: Test network topology and latency scenarios
  • AI Jobs Simulation: Model AI job submission and processing
  • Async Execution: Run simulations asynchronously
  • Status Tracking: Monitor simulation progress and results

📋 Prerequisites

Knowledge Required

  • Basic command-line interface usage
  • Understanding of blockchain concepts
  • AITBC CLI installed and accessible
  • coordinator-api running (for API-integrated simulations)

System Requirements

  • AITBC CLI installed
  • coordinator-api running (http://127.0.0.1:18000)
  • Sufficient system resources for simulations

🚀 Quick Start

# Blockchain simulation
aitbc simulate blockchain --blocks 10 --transactions 50

# Wallets simulation
aitbc simulate wallets --count 5 --balance 1000

# Price simulation
aitbc simulate price --days 30 --volatility 0.1

# Network simulation
aitbc simulate network --nodes 10 --latency 50

# AI jobs simulation
aitbc simulate ai-jobs --jobs 20 --duration 300

📖 Detailed Steps

Step 1: Blockchain Simulation

Simulate blockchain block generation and transaction processing:

aitbc simulate blockchain --blocks 10 --transactions 50

Expected Output:

{
  "simulation_id": "sim_1716789123",
  "blocks": 10,
  "transactions": 50,
  "status": "completed",
  "block_time_avg": "2.5s"
}

What happens:

  • Blockchain simulation executed
  • Blocks generated with transactions
  • Performance metrics collected

Step 2: Blockchain with Custom Parameters

Simulate blockchain with difficulty and custom parameters:

aitbc simulate blockchain --blocks 100 --transactions 500 --difficulty 5

Expected Output:

{
  "simulation_id": "sim_1716789234",
  "blocks": 100,
  "transactions": 500,
  "difficulty": 5,
  "status": "completed"
}

Step 3: Wallets Simulation

Simulate wallet creation with balance distribution:

aitbc simulate wallets --count 5 --balance 1000

Expected Output:

{
  "simulation_id": "sim_1716789345",
  "wallets": 5,
  "balance": 1000,
  "distribution": "uniform",
  "status": "completed"
}

Step 4: Wallets with Exponential Distribution

Simulate wallets with exponential balance distribution:

aitbc simulate wallets --count 10 --distribution exponential

Expected Output:

{
  "simulation_id": "sim_1716789456",
  "wallets": 10,
  "distribution": "exponential",
  "status": "completed"
}

Step 5: Price Simulation

Simulate price movements with volatility:

aitbc simulate price --days 30 --volatility 0.1

Expected Output:

{
  "simulation_id": "sim_1716789567",
  "days": 30,
  "volatility": 0.1,
  "prices": [100.0, 105.2, 98.7, ...],
  "status": "completed"
}

Step 6: Price with Trend

Simulate price movements with bullish trend:

aitbc simulate price --days 90 --trend bullish --volatility 0.15

Expected Output:

{
  "simulation_id": "sim_1716789678",
  "days": 90,
  "trend": "bullish",
  "volatility": 0.15,
  "status": "completed"
}

Step 7: Network Simulation

Simulate network topology and latency:

aitbc simulate network --nodes 10 --latency 50

Expected Output:

{
  "simulation_id": "sim_1716789789",
  "nodes": 10,
  "latency": 50,
  "topology": "random",
  "status": "completed"
}

Step 8: Network with Custom Topology

Simulate network with mesh topology:

aitbc simulate network --nodes 20 --topology mesh --latency 100

Expected Output:

{
  "simulation_id": "sim_1716789890",
  "nodes": 20,
  "topology": "mesh",
  "latency": 100,
  "status": "completed"
}

Step 9: AI Jobs Simulation

Simulate AI job submission and processing:

aitbc simulate ai-jobs --jobs 20 --duration 300

Expected Output:

{
  "simulation_id": "sim_1716790001",
  "jobs": 20,
  "duration": 300,
  "status": "completed"
}

Step 10: AI Jobs with GPU Requirements

Simulate AI jobs with GPU requirements:

aitbc simulate ai-jobs --jobs 30 --gpu-required --duration 600

Expected Output:

{
  "simulation_id": "sim_1716790112",
  "jobs": 30,
  "gpu_required": true,
  "duration": 600,
  "status": "completed"
}

Step 11: Run Simulation

Run a simulation with type and duration:

aitbc simulate run --type blockchain --duration 60

Expected Output:

{
  "simulation_id": "sim_1716790223",
  "type": "blockchain",
  "duration": 60,
  "status": "started"
}

Step 12: Run Async Simulation

Run simulation in async mode:

aitbc simulate run --type network --async --duration 120

Expected Output:

{
  "simulation_id": "sim_1716790334",
  "type": "network",
  "async": true,
  "status": "started"
}

Step 13: Check Simulation Status

Monitor simulation progress:

aitbc simulate status sim_1716790223

Expected Output:

{
  "simulation_id": "sim_1716790223",
  "status": "running",
  "progress": "75%",
  "elapsed_time": "45s"
}

Step 14: Get Simulation Results

Retrieve simulation results:

aitbc simulate result sim_1716790223

Expected Output:

{
  "simulation_id": "sim_1716790223",
  "status": "completed",
  "results": {
    "blocks_generated": 10,
    "transactions_processed": 50,
    "avg_block_time": "2.5s"
  }
}

🔧 Advanced Usage

Custom Simulation Scenarios

Create complex simulation scenarios by combining parameters:

# High-volume blockchain simulation
aitbc simulate blockchain --blocks 1000 --transactions 10000 --difficulty 8

# Large-scale wallet simulation
aitbc simulate wallets --count 1000 --distribution power-law --balance 10000

# Long-term price simulation
aitbc simulate price --days 365 --trend bearish --volatility 0.25

# Complex network topology
aitbc simulate network --nodes 50 --topology hierarchical --latency 200

# Complex AI job workflow
aitbc simulate ai-jobs --jobs 100 --gpu-required --multi-gpu --duration 3600

Batch Simulations

Run multiple simulations sequentially:

#!/bin/bash
# run_simulations.sh

sim_types=("blockchain" "wallets" "price" "network" "ai-jobs")

for sim in "${sim_types[@]}"; do
    echo "Running simulation: $sim"
    aitbc simulate run --type "$sim" --duration 60
    
    # Wait for completion
    sleep 5
done

Simulation Comparison

Compare results from different simulations:

# Run simulation A
aitbc simulate blockchain --blocks 100 --transactions 500 --difficulty 3
sim_id_a=$(aitbc simulate run --type blockchain --duration 60 | jq -r '.simulation_id')

# Run simulation B
aitbc simulate blockchain --blocks 100 --transactions 500 --difficulty 7
sim_id_b=$(aitbc simulate run --type blockchain --duration 60 | jq -r '.simulation_id')

# Compare results
aitbc simulate result $sim_id_a > result_a.json
aitbc simulate result $sim_id_b > result_b.json
diff result_a.json result_b.json

⚠️ Important Notes

Simulation IDs

  • Each simulation gets a unique ID: sim_<timestamp>
  • Use simulation IDs for tracking and result retrieval
  • IDs are generated automatically

Simulation States

  • Started: Simulation initialized
  • Running: Simulation in progress
  • Completed: Simulation finished successfully
  • Failed: Simulation encountered an error

Resource Requirements

  • Large simulations may require significant CPU/memory
  • Async mode recommended for long-running simulations
  • Monitor system resources during simulations

Output Formats

  • JSON format for programmatic processing
  • Table format for human-readable output
  • Use --format json or --format table to specify

🐛 Troubleshooting

Simulation not found

Error:

Error: Simulation 'sim_123' not found

Solution:

# Check simulation ID
aitbc simulate status sim_123

# List recent simulations (if available)
aitbc simulate list

Coordinator-api unavailable

Error:

Error: coordinator-api not available

Solution:

# Check coordinator-api status
curl http://127.0.0.1:18000/health

# Start coordinator-api if needed
systemctl start aitbc-coordinator-api

Simulation stuck in running state

Issue: Simulation status shows "Running" but not progressing

Solution:

# Check coordinator-api status
curl http://127.0.0.1:18000/health

# Review simulation logs
# (Location depends on implementation)

# Cancel simulation if needed
aitbc simulate cancel sim_123

Invalid simulation parameters

Error:

Error: Invalid parameter value

Solution:

# Check parameter ranges
aitbc simulate blockchain --help

# Use valid parameter values
aitbc simulate blockchain --blocks 10  # Valid
aitbc simulate blockchain --blocks -5  # Invalid

📊 Testing

Run the integration test script to verify simulation operations:

# Run pytest tests
cd /opt/aitbc
pytest tests/cli/test_simulate_integration.py -v

# Run bash integration test
scripts/testing/test_simulate.sh

Expected test output:

tests/cli/test_simulate_integration.py::TestSimulateCommandsIntegration::test_simulate_blockchain PASSED
tests/cli/test_simulate_integration.py::TestSimulateCommandsIntegration::test_simulate_wallets PASSED
tests/cli/test_simulate_integration.py::TestSimulateCommandsIntegration::test_simulate_price PASSED
...

🎓 Summary

In this scenario, you learned:

  • How to run blockchain simulations with custom parameters
  • How to simulate wallet creation and balance distribution
  • How to model price movements with trends and volatility
  • How to test network topology and latency scenarios
  • How to simulate AI job processing workflows
  • How to run simulations in async mode
  • How to monitor simulation status and retrieve results

Key Takeaways:

  • Simulations enable strategy validation before real execution
  • Each simulation gets a unique ID for tracking
  • Async mode recommended for long-running simulations
  • Custom parameters enable realistic scenario modeling
  • Status monitoring enables simulation control
  • Results retrieval enables analysis and comparison