Files
aitbc/scripts/workflow
aitbc1 35c694a1c2
All checks were successful
CLI Tests / test-cli (push) Successful in 1m18s
Documentation Validation / validate-docs (push) Successful in 11s
Security Scanning / security-scan (push) Successful in 48s
feat: implement long-term CLI goals with enterprise features
📈 CLI Expansion: Full wallet and transaction support
• Create enterprise_cli.py with advanced operations
• Add batch transaction processing from JSON files
• Implement wallet import/export operations
• Add wallet rename and delete functionality

📈 Advanced Operations: Mining, marketplace, AI services
• Mining operations: start/stop/status with multi-threading
• Marketplace: list items and create listings
• AI services: submit compute jobs with payment
• Enterprise automation script for demo purposes

📈 Enterprise Features: Batch operations, automation
• Batch transaction processing with JSON input
• Cross-node deployment and synchronization
• Sample file generation for batch operations
• Enterprise automation script with all features
• Professional error handling and user feedback

New CLI Commands:
• batch: Process multiple transactions from JSON file
• mine: Mining operations (start/stop/status)
• market: Marketplace operations (list/create)
• ai: AI service operations (submit jobs)
• sample: Create sample batch files

Enterprise Features:
• JSON-based batch processing
• Multi-threaded mining support
• Marketplace integration
• AI compute job submission
• Cross-node automation
• Professional error handling
• Sample file generation

This completes the long-term CLI goals with enterprise-grade
features and automation capabilities.
2026-03-29 16:13:53 +02:00
..

AITBC Multi-Node Blockchain Setup Scripts

This directory contains modular scripts for setting up and managing a multi-node AITBC blockchain network.

Scripts Overview

Core Setup Scripts

  1. 01_preflight_setup.sh - Pre-flight system preparation

    • Stops existing services
    • Updates systemd configurations
    • Sets up environment files
    • Installs CLI tool
    • Creates keystore and directories
  2. 02_genesis_authority_setup.sh - Genesis authority node setup (aitbc1)

    • Pulls latest code
    • Configures genesis authority
    • Creates genesis block
    • Starts blockchain services
  3. 03_follower_node_setup.sh - Follower node setup (aitbc)

    • Configures follower node
    • Sets up cross-node communication
    • Starts follower services
  4. 04_create_wallet.sh - Wallet creation on follower node

    • Creates new wallet using CLI tool
    • Verifies wallet creation
    • Returns wallet address
  5. 05_send_transaction.sh - Transaction sending

    • Sends AIT from genesis to wallet
    • Monitors transaction confirmation
    • Verifies balance update
  6. 06_final_verification.sh - Complete system verification

    • Checks blockchain synchronization
    • Verifies transaction success
    • Tests network health
    • Validates service status

Master Script

  • setup_multinode_blockchain.sh - Master orchestrator script
    • Runs all scripts in sequence
    • Provides interactive execution
    • Includes comprehensive summary
    • Handles error checking

Usage

Individual Script Execution

# Run individual scripts
./01_preflight_setup.sh
./02_genesis_authority_setup.sh
./03_follower_node_setup.sh
./04_create_wallet.sh
./05_send_transaction.sh
./06_final_verification.sh

Master Script Execution

# Run complete setup (interactive)
./setup_multinode_blockchain.sh

# Run complete setup (non-interactive)
echo "y" | ./setup_multinode_blockchain.sh

Script Dependencies

System Requirements

  • aitbc1 node (genesis authority)
  • aitbc node (follower)
  • SSH access between nodes
  • Redis service running
  • Python virtual environment

Environment Variables

  • WALLET_ADDR - Set by wallet creation script
  • GENESIS_ADDR - Set by genesis setup script

File Structure

/opt/aitbc/scripts/workflow/
├── 01_preflight_setup.sh
├── 02_genesis_authority_setup.sh
├── 03_follower_node_setup.sh
├── 04_create_wallet.sh
├── 05_send_transaction.sh
├── 06_final_verification.sh
├── setup_multinode_blockchain.sh
└── README.md

Script Features

Error Handling

  • All scripts use set -e for error detection
  • Comprehensive error messages
  • Graceful failure handling

Logging

  • Clear step-by-step output
  • Progress indicators
  • Success/failure confirmation

Modularity

  • Each script is self-contained
  • Can be run independently
  • State management between scripts

Cross-Node Operations

  • Automatic SSH handling
  • Remote command execution
  • File synchronization

Customization

Environment Modifications

  • Edit .env files for different configurations
  • Modify service names as needed
  • Adjust network settings

Script Parameters

  • Wallet names can be changed
  • Transaction amounts are configurable
  • Network settings are customizable

Troubleshooting

Common Issues

  1. SSH Connection: Verify SSH keys between nodes
  2. Service Failures: Check systemd logs
  3. Network Issues: Verify Redis and RPC connectivity
  4. Permission Errors: Ensure proper file permissions

Debug Mode

Add set -x to scripts for detailed execution tracing.

Log Locations

  • Systemd logs: journalctl -u aitbc-blockchain-*
  • Application logs: /var/log/aitbc/
  • Script logs: Console output

Security Considerations

Password Management

  • Keystore passwords stored in /var/lib/aitbc/keystore/.password
  • Change default password in production
  • Use proper key management

Network Security

  • SSH key authentication recommended
  • Firewall rules for RPC ports
  • Redis security configuration

File Permissions

  • Keystore files: 600 (owner only)
  • Scripts: 755 (executable)
  • Configuration: 644 (readable)

Maintenance

Regular Tasks

  • Monitor blockchain synchronization
  • Check service health
  • Update scripts as needed
  • Backup configurations

Updates

  • Pull latest code changes
  • Update script dependencies
  • Test script modifications
  • Document changes

Integration with Workflow

These scripts are referenced in the main workflow documentation:

  • /opt/aitbc/.windsurf/workflows/multi-node-blockchain-setup.md

The workflow now uses script references instead of inline code, making it:

  • More maintainable
  • Easier to test
  • Reusable components
  • Better organized