Skip to main content

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

StateDescriptionActions Available
CreatedNetwork genesis generated, nodes not yet deployedDeploy nodes, configure, delete
RunningNodes are operational and producing blocksStop, monitor, add/remove nodes
StoppedNodes have been shut downStart, delete, backup
ErrorNetwork has encountered issuesView 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:

  1. Go to Networks → Create Network
  2. Select Fabric
  3. Configure organizations, peers, and orderers
  4. Set channel policies
  5. 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:

  1. Go to Networks → Create Network
  2. Select Besu
  3. Choose consensus mechanism
  4. Configure genesis parameters
  5. 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:

  1. Go to Networks → network-name
  2. Click Add Node
  3. Select node type
  4. Configure parameters
  5. 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:

  1. Go to Networks
  2. Select network to view status
  3. 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:

  1. Go to Networks → network-name
  2. Click Topology tab
  3. 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

  1. Check all nodes are running
  2. Verify network connectivity between nodes
  3. Check node logs for errors
  4. 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

See Also