Some checks failed
API Endpoint Tests / test-api-endpoints (push) Successful in 10s
Blockchain Synchronization Verification / sync-verification (push) Failing after 3s
CLI Tests / test-cli (push) Failing after 4s
Documentation Validation / validate-docs (push) Successful in 8s
Documentation Validation / validate-policies-strict (push) Successful in 4s
Integration Tests / test-service-integration (push) Successful in 38s
Multi-Node Blockchain Health Monitoring / health-check (push) Successful in 2s
P2P Network Verification / p2p-verification (push) Successful in 3s
Security Scanning / security-scan (push) Successful in 40s
Smart Contract Tests / test-solidity (map[name:aitbc-token path:packages/solidity/aitbc-token]) (push) Successful in 15s
Smart Contract Tests / lint-solidity (push) Successful in 8s
- Relocate blockchain-event-bridge README content to docs/apps/blockchain/blockchain-event-bridge.md - Relocate blockchain-explorer README content to docs/apps/blockchain/blockchain-explorer.md - Replace app READMEs with redirect notices pointing to new documentation location - Consolidate documentation in central docs/ directory for better organization
4.3 KiB
4.3 KiB
Blockchain Event Bridge
Bridge between AITBC blockchain events and OpenClaw agent triggers using a hybrid event-driven and polling approach.
Overview
This service connects AITBC blockchain events (blocks, transactions, smart contract events) to OpenClaw agent actions through:
- Event-driven: Subscribe to gossip broker topics for real-time critical triggers
- Polling: Periodic checks for batch operations and conditions
- Smart Contract Events: Monitor contract events via blockchain RPC (Phase 2)
Features
- Subscribes to blockchain block events via gossip broker
- Subscribes to transaction events (when available)
- Monitors smart contract events via blockchain RPC:
- AgentStaking (stake creation, rewards, tier updates)
- PerformanceVerifier (performance verification, penalties, rewards)
- AgentServiceMarketplace (service listings, purchases)
- BountyIntegration (bounty creation, completion)
- CrossChainBridge (bridge initiation, completion)
- Triggers coordinator API actions based on blockchain events
- Triggers agent daemon actions for agent wallet transactions
- Triggers marketplace state updates
- Configurable action handlers (enable/disable per type)
- Prometheus metrics for monitoring
- Health check endpoint
Installation
cd apps/blockchain-event-bridge
poetry install
Configuration
Environment variables:
BLOCKCHAIN_RPC_URL- Blockchain RPC endpoint (default:http://localhost:8006)GOSSIP_BACKEND- Gossip broker backend:memory,broadcast, orredis(default:memory)GOSSIP_BROADCAST_URL- Broadcast URL for Redis backend (optional)COORDINATOR_API_URL- Coordinator API endpoint (default:http://localhost:8011)COORDINATOR_API_KEY- Coordinator API key (optional)SUBSCRIBE_BLOCKS- Subscribe to block events (default:true)SUBSCRIBE_TRANSACTIONS- Subscribe to transaction events (default:true)ENABLE_AGENT_DAEMON_TRIGGER- Enable agent daemon triggers (default:true)ENABLE_COORDINATOR_API_TRIGGER- Enable coordinator API triggers (default:true)ENABLE_MARKETPLACE_TRIGGER- Enable marketplace triggers (default:true)ENABLE_POLLING- Enable polling layer (default:false)POLLING_INTERVAL_SECONDS- Polling interval in seconds (default:60)
Running
Development
poetry run uvicorn blockchain_event_bridge.main:app --reload --host 127.0.0.1 --port 8204
Production (Systemd)
sudo systemctl start aitbc-blockchain-event-bridge
sudo systemctl enable aitbc-blockchain-event-bridge
API Endpoints
GET /- Service informationGET /health- Health checkGET /metrics- Prometheus metrics
Architecture
blockchain-event-bridge/
├── src/blockchain_event_bridge/
│ ├── main.py # FastAPI app
│ ├── config.py # Settings
│ ├── bridge.py # Core bridge logic
│ ├── metrics.py # Prometheus metrics
│ ├── event_subscribers/ # Event subscription modules
│ ├── action_handlers/ # Action handler modules
│ └── polling/ # Polling modules
└── tests/
Event Flow
- Blockchain publishes block event to gossip broker (topic: "blocks")
- Block event subscriber receives event
- Bridge parses block data and extracts transactions
- Bridge triggers appropriate action handlers:
- Coordinator API handler for AI jobs, agent messages
- Agent daemon handler for agent wallet transactions
- Marketplace handler for marketplace listings
- Action handlers make HTTP calls to respective services
- Metrics are recorded for monitoring
CLI Commands
The blockchain event bridge service includes CLI commands for management and monitoring:
# Health check
aitbc-cli bridge health
# Get Prometheus metrics
aitbc-cli bridge metrics
# Get detailed service status
aitbc-cli bridge status
# Show current configuration
aitbc-cli bridge config
# Restart the service (via systemd)
aitbc-cli bridge restart
All commands support --test-mode flag for testing without connecting to the service.
Testing
poetry run pytest
Future Enhancements
- Phase 2: Smart contract event subscription
- Phase 3: Enhanced polling layer for batch operations
- WebSocket support for real-time event streaming
- Event replay for missed events