Files
aitbc/scripts/workflow
aitbc 40ddf89b9c
Some checks failed
CLI Tests / test-cli (push) Has been cancelled
Security Scanning / security-scan (push) Has been cancelled
Integration Tests / test-service-integration (push) Has been cancelled
Python Tests / test-python (push) Has been cancelled
Documentation Validation / validate-docs (push) Has been cancelled
API Endpoint Tests / test-api-endpoints (push) Has been cancelled
docs: update CLI command syntax across workflow documentation
- Updated marketplace commands: `marketplace --action` → `market` subcommands
- Updated wallet commands: direct flags → `wallet` subcommands
- Updated AI commands: `ai-submit`, `ai-status` → `ai submit`, `ai status`
- Updated blockchain commands: `chain` → `blockchain info`
- Standardized command structure across all workflow files
- Affected files: MULTI_NODE_MASTER_INDEX.md, TEST_MASTER_INDEX.md, multi-node-blockchain-marketplace
2026-04-08 12:10:21 +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