Move blockchain app READMEs to centralized documentation
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
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
This commit is contained in:
@@ -1,112 +1,9 @@
|
||||
# Blockchain Event Bridge
|
||||
|
||||
Bridge between AITBC blockchain events and OpenClaw agent triggers using a hybrid event-driven and polling approach.
|
||||
**Documentation has moved to:** [docs/apps/blockchain/blockchain-event-bridge.md](../../docs/apps/blockchain/blockchain-event-bridge.md)
|
||||
|
||||
## 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)
|
||||
This file has been migrated to the central documentation location. Please update your bookmarks and references to point to the new location.
|
||||
|
||||
## 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
|
||||
|
||||
```bash
|
||||
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`, or `redis` (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
|
||||
|
||||
```bash
|
||||
poetry run uvicorn blockchain_event_bridge.main:app --reload --host 127.0.0.1 --port 8204
|
||||
```
|
||||
|
||||
### Production (Systemd)
|
||||
|
||||
```bash
|
||||
sudo systemctl start aitbc-blockchain-event-bridge
|
||||
sudo systemctl enable aitbc-blockchain-event-bridge
|
||||
```
|
||||
|
||||
## API Endpoints
|
||||
|
||||
- `GET /` - Service information
|
||||
- `GET /health` - Health check
|
||||
- `GET /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
|
||||
|
||||
1. Blockchain publishes block event to gossip broker (topic: "blocks")
|
||||
2. Block event subscriber receives event
|
||||
3. Bridge parses block data and extracts transactions
|
||||
4. 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
|
||||
5. Action handlers make HTTP calls to respective services
|
||||
6. Metrics are recorded for monitoring
|
||||
|
||||
## Testing
|
||||
|
||||
```bash
|
||||
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
|
||||
For the complete documentation, see the [Blockchain Event Bridge documentation](../../docs/apps/blockchain/blockchain-event-bridge.md).
|
||||
|
||||
Reference in New Issue
Block a user