Network Management
This guide covers creating, managing, and monitoring blockchain networks in ChainLaunch Pro.
Overview
ChainLaunch Pro supports two main blockchain platforms:
- Hyperledger Fabric - Permissioned consortium blockchains with channels and chaincodes
- Hyperledger Besu - Ethereum-compatible networks with smart contracts
Network Lifecycle
Created → Initialized → Running → Stopped → Deleted
Network States
| State | Description | Actions Available |
|---|---|---|
| Created | Network genesis generated, nodes not yet deployed | Deploy nodes, configure, delete |
| Running | Nodes are operational and producing blocks | Stop, monitor, add/remove nodes |
| Stopped | Nodes have been shut down | Start, delete, backup |
| Error | Network has encountered issues | View logs, restart, diagnose |
Creating Networks
Hyperledger Fabric Networks
Fabric networks are consortium blockchains with organizations, peers, orderers, and channels.
Key Components:
- Organizations - Business entities with admin certificates
- Orderers - Consensus nodes (Solo, Raft, Kafka)
- Peers - Endorsers, committers, state database maintainers
- Channels - Isolated ledgers with specific members
Create via UI:
- Go to Networks → Create Network
- Select Fabric
- Configure organizations, peers, and orderers
- Set channel policies
- Click Create
Via API:
curl -X POST http://localhost:8080/api/v1/networks \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "fabric-network",
"type": "fabric",
"orderer_type": "raft",
"organizations": 2,
"peers_per_org": 2
}'
Hyperledger Besu Networks
Besu networks are Ethereum-compatible with validators, bootnodes, and smart contracts.
Key Components:
- Validators - Consensus participants
- Bootnodes - Peer discovery nodes
- Consensus - IBFT 2.0, PoA, Clique, or PoW
- Smart Contracts - EVM-based applications
Create via UI:
- Go to Networks → Create Network
- Select Besu
- Choose consensus mechanism
- Configure genesis parameters
- Click Create
See Create a Besu Network for detailed steps.
Importing Networks
Import existing networks without recreating them:
Import Fabric Network:
curl -X POST http://localhost:8080/api/v1/networks/import \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "imported-network",
"type": "fabric",
"config_path": "/path/to/config.yaml"
}'
Import Besu Network:
curl -X POST http://localhost:8080/api/v1/networks/import \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "imported-network",
"type": "besu",
"genesis_path": "/path/to/genesis.json"
}'
Managing Nodes
Add Nodes to Network
Via UI:
- Go to Networks → network-name
- Click Add Node
- Select node type
- Configure parameters
- Click Create
Via API:
curl -X POST http://localhost:8080/api/v1/networks/network-123/nodes \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "peer-0",
"type": "peer",
"organization": "org1"
}'
Start/Stop Nodes
Start single node:
curl -X POST http://localhost:8080/api/v1/nodes/node-123/start \
-H "Authorization: Bearer YOUR_API_KEY"
Stop network (all nodes):
curl -X POST http://localhost:8080/api/v1/networks/network-123/stop \
-H "Authorization: Bearer YOUR_API_KEY"
Remove Nodes
Via API:
curl -X DELETE http://localhost:8080/api/v1/nodes/node-123 \
-H "Authorization: Bearer YOUR_API_KEY"
Monitoring Networks
View Network Status
Via UI:
- Go to Networks
- Select network to view status
- View node count, block height, peer connections
Via API:
curl -X GET http://localhost:8080/api/v1/networks/network-123 \
-H "Authorization: Bearer YOUR_API_KEY"
View Network Metrics
Via Prometheus:
# Block height
curl -X POST http://localhost:9090/api/v1/query \
-d 'query=blockchain_block_height'
# Transaction throughput
curl -X POST http://localhost:9090/api/v1/query \
-d 'query=blockchain_transactions_per_second'
View Network Logs
Get network events:
curl -X GET "http://localhost:8080/api/v1/networks/network-123/events" \
-H "Authorization: Bearer YOUR_API_KEY"
Fabric-Specific Management
Manage Organizations
Create organization:
curl -X POST http://localhost:8080/api/v1/organizations \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "org1",
"msp_id": "Org1MSP",
"domain": "org1.example.com"
}'
Manage Channels
Create channel:
curl -X POST http://localhost:8080/api/v1/networks/network-123/channels \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "channel1",
"organizations": ["org1", "org2"],
"orderer": "orderer0"
}'
Join peer to channel:
curl -X POST http://localhost:8080/api/v1/nodes/peer-123/join-channel \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"channel": "channel1"}'
Deploy Chaincodes
See Deploy Chaincode for detailed steps.
Besu-Specific Management
Manage Validators
Add validator to network:
curl -X POST http://localhost:8080/api/v1/networks/network-123/validators \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address": "0x123456..."
}'
Remove validator:
curl -X DELETE http://localhost:8080/api/v1/networks/network-123/validators/address \
-H "Authorization: Bearer YOUR_API_KEY"
Deploy Smart Contracts
Smart contract deployment details will be available in future documentation.
Network Topology
View network structure:
Via UI:
- Go to Networks → network-name
- Click Topology tab
- View node relationships and peer connections
Via API:
curl -X GET http://localhost:8080/api/v1/networks/network-123/topology \
-H "Authorization: Bearer YOUR_API_KEY"
Backup & Recovery
Backup Network Configuration
curl -X POST http://localhost:8080/api/v1/backups \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "network",
"network_id": "network-123"
}'
Restore Network
See Backup & Recovery for detailed steps.
Troubleshooting
Network Not Producing Blocks
- Check all nodes are running
- Verify network connectivity between nodes
- Check node logs for errors
- Verify consensus parameters (especially for Besu IBFT)
See Troubleshooting Guide for more solutions.
Best Practices
1. Use Descriptive Names
✅ GOOD: production-fabric-network, dev-besu-testnet
❌ BAD: network1, network2
2. Version Your Networks
✅ GOOD: fabric-v2.5-prod, besu-clique-v1.10
❌ BAD: fabric-latest, besu-main
3. Monitor Regularly
- Check node health daily
- Review metrics weekly
- Archive audit logs monthly
- Test backups quarterly
4. Plan Capacity
- Estimate storage: ~100MB per 1000 blocks for Fabric
- Monitor CPU/memory per node
- Plan for network growth
5. Document Configuration
- Keep genesis files in version control
- Document channel policies
- Document validator set changes
- Maintain runbooks for operations