- Introduced Aggregator.sol for Chainlink-compatible oracle functionality, including round-based updates and access control. - Added OracleWithCCIP.sol to extend Aggregator with CCIP cross-chain messaging capabilities. - Created .gitmodules to include OpenZeppelin contracts as a submodule. - Developed a comprehensive deployment guide in NEXT_STEPS_COMPLETE_GUIDE.md for Phase 2 and smart contract deployment. - Implemented Vite configuration for the orchestration portal, supporting both Vue and React frameworks. - Added server-side logic for the Multi-Cloud Orchestration Portal, including API endpoints for environment management and monitoring. - Created scripts for resource import and usage validation across non-US regions. - Added tests for CCIP error handling and integration to ensure robust functionality. - Included various new files and directories for the orchestration portal and deployment scripts.
3.0 KiB
3.0 KiB
Hyperledger Firefly Integration
Overview
Hyperledger Firefly is integrated into the Besu network for tokenization and asset management. Firefly provides a high-level API for managing tokens, NFTs, and data on the blockchain.
Architecture
Components
- Firefly Core: Main Firefly service
- PostgreSQL: Database for Firefly
- IPFS: Distributed storage for Firefly data
- Besu Connector: Connects Firefly to Besu network
Network Integration
- Chain ID: 138 (DeFi Oracle Meta Mainnet)
- RPC Endpoint: Besu RPC nodes
- WebSocket Endpoint: Besu WebSocket nodes
Deployment
Prerequisites
- Kubernetes cluster (AKS)
- Besu network deployed
- RPC endpoints accessible
Deploy Firefly
# Deploy Firefly
./scripts/deployment/deploy-firefly.sh
# Or manually
kubectl apply -f k8s/firefly/
Verify Deployment
# Check Firefly status
kubectl get pods -n firefly
# Check Firefly API
curl http://firefly-api.firefly.svc.cluster.local:5000/api/v1/status
Configuration
Firefly Configuration
Firefly is configured via ConfigMap (k8s/firefly/configmap.yaml):
- Database: PostgreSQL
- Blockchain: Ethereum (Besu)
- RPC: Besu RPC endpoints
- Chain ID: 138
- IPFS: IPFS service for data storage
Environment Variables
FF_DATABASE_TYPE: postgresFF_DATABASE_URL: PostgreSQL connection stringFF_BLOCKCHAIN_TYPE: ethereumFF_BLOCKCHAIN_RPC: Besu RPC URLFF_BLOCKCHAIN_WS: Besu WebSocket URLFF_CHAIN_ID: 138
Usage
Create Token Pool
curl -X POST http://firefly-api.firefly.svc.cluster.local:5000/api/v1/tokens/pools \
-H "Content-Type: application/json" \
-d '{
"name": "MyToken",
"symbol": "MTK",
"type": "fungible"
}'
Mint Tokens
curl -X POST http://firefly-api.firefly.svc.cluster.local:5000/api/v1/tokens/mint \
-H "Content-Type: application/json" \
-d '{
"pool": "pool-id",
"amount": "1000",
"to": "0x..."
}'
Create NFT
curl -X POST http://firefly-api.firefly.svc.cluster.local:5000/api/v1/tokens/nfts \
-H "Content-Type: application/json" \
-d '{
"pool": "pool-id",
"tokenId": "1",
"uri": "ipfs://...",
"to": "0x..."
}'
Integration with Besu
Firefly connects to Besu via:
- RPC Endpoint: HTTP JSON-RPC
- WebSocket Endpoint: WebSocket JSON-RPC
- Chain ID: 138
Besu-Firefly Connector
The Besu-Firefly connector (connectors/besu-firefly/connector.py) provides:
- Network registration
- Contract deployment
- Status monitoring
Tokenization
Firefly enables tokenization of:
- Financial Files: ISO-20022, SWIFT FIN
- Assets: Real-world assets
- Data: Any digital data
See Financial Tokenization Service for details.