4.9 KiB
4.9 KiB
Hyperledger Services Deployment Guide
Complete deployment guide for Hyperledger services (Firefly, Cacti, Fabric, Indy) on Proxmox VE.
📋 Overview
This document covers deployment of additional Hyperledger blockchain frameworks beyond Besu:
- Firefly: Web3 gateway for enterprise applications
- Cacti: Blockchain integration platform
- Fabric: Permissioned blockchain framework
- Indy: Self-sovereign identity ledger
🚀 Quick Deployment
Deploy All Hyperledger Services
cd /opt/smom-dbis-138-proxmox
./scripts/deployment/deploy-hyperledger-services.sh
Deploy Individual Services
# Deploy only Firefly
DEPLOY_FIREFLY=true DEPLOY_CACTI=false DEPLOY_FABRIC=false DEPLOY_INDY=false \
./scripts/deployment/deploy-hyperledger-services.sh
# Deploy only Cacti
DEPLOY_FIREFLY=false DEPLOY_CACTI=true DEPLOY_FABRIC=false DEPLOY_INDY=false \
./scripts/deployment/deploy-hyperledger-services.sh
🔧 Service Details
Hyperledger Firefly
VMID Range: 150-159
Default VMID: 150
Container: firefly-1
After deployment:
- Configure Besu connection:
pct exec 150 -- bash -c "cd /opt/firefly && \
sed -i 's|FF_BLOCKCHAIN_RPC=.*|FF_BLOCKCHAIN_RPC=http://192.168.11.250:8545|' docker-compose.yml && \
sed -i 's|FF_BLOCKCHAIN_WS=.*|FF_BLOCKCHAIN_WS=ws://192.168.11.250:8546|' docker-compose.yml"
- Start service:
pct exec 150 -- systemctl start firefly
- Access API:
curl http://10.3.1.60:5000/api/v1/status
Hyperledger Cacti
VMID Range: 150-159
Default VMID: 151
Container: cacti-1
After deployment:
- Configure Besu connection:
pct exec 151 -- bash -c "cd /opt/cacti && \
sed -i 's|BESU_RPC_URL=.*|BESU_RPC_URL=http://192.168.11.250:8545|' docker-compose.yml && \
sed -i 's|BESU_WS_URL=.*|BESU_WS_URL=ws://192.168.11.250:8546|' docker-compose.yml"
- Start service:
pct exec 151 -- systemctl start cacti
- Access API:
curl http://10.3.1.61:4000/api/v1/api-server/healthcheck
Hyperledger Fabric
VMID Range: 150-159
Default VMID: 152
Container: fabric-1
After deployment:
- Generate crypto materials (customize for your network):
pct exec 152 -- bash
cd /opt/fabric
# Generate crypto materials
cryptogen generate --config=./config/crypto-config.yaml
# Generate genesis block
configtxgen -profile TestNetwork -channelID test-channel -outputBlock ./network/genesis.block
-
Configure network in
docker-compose.yml(requires manual setup) -
Start Fabric network
Hyperledger Indy
VMID Range: 150-159
Default VMID: 153
Container: indy-1
After deployment:
- Generate genesis transactions:
pct exec 153 -- bash
cd /opt/indy
# Generate pool transactions (requires pool configuration)
# See Indy documentation for pool setup
- Configure pool name:
pct exec 153 -- bash -c "cd /opt/indy && \
sed -i 's|NETWORK_NAME=.*|NETWORK_NAME=smom-dbis-138|' docker-compose.yml"
- Start service:
pct exec 153 -- systemctl start indy
🔗 Integration
Firefly with Besu
- Firefly connects to Besu RPC nodes
- Uses Besu for transaction submission
- Monitors Besu events
- Supports tokenization on Besu chain
Cacti with Besu
- Cacti Besu connector connects to Besu network
- Enables cross-chain operations
- Can bridge assets between Besu and other chains
Fabric Integration
- Can use Fabric Gateway API
- Connect via REST/GRPC
- Separate permissioned network
Indy Integration
- Independent identity ledger
- Can issue credentials for Besu addresses
- Supports decentralized identity verification
📊 Resource Summary
| Service | CPU | RAM | Disk | VMID |
|---|---|---|---|---|
| Firefly | 2 | 4GB | 50GB | 150 |
| Cacti | 2 | 4GB | 50GB | 151 |
| Fabric | 4 | 8GB | 100GB | 152 |
| Indy | 4 | 8GB | 100GB | 153 |
Total Additional Resources: ~12 cores, 24GB RAM, 300GB disk
🆘 Troubleshooting
Firefly Issues
# Check logs
pct exec 150 -- journalctl -u firefly -f
# Check Docker containers
pct exec 150 -- docker ps
pct exec 150 -- docker-compose -f /opt/firefly/docker-compose.yml logs
Cacti Issues
# Check logs
pct exec 151 -- journalctl -u cacti -f
pct exec 151 -- docker-compose -f /opt/cacti/docker-compose.yml logs
Fabric Issues
# Check Docker containers
pct exec 152 -- docker ps
# Review network logs
pct exec 152 -- docker logs <container-name>
Indy Issues
# Check all node logs
pct exec 153 -- docker-compose -f /opt/indy/docker-compose.yml logs
# Check individual node
pct exec 153 -- docker logs indy-node-1