This guide covers creating, managing, and monitoring blockchain networks in ChainLaunch.
Overview
ChainLaunch supports two main blockchain platforms:
- Hyperledger Fabric - Permissioned consortium blockchains with channels and chaincodes
- Hyperledger Besu - Ethereum-compatible networks with smart contracts
Networks are managed through platform-specific endpoints: /networks/fabric and /networks/besu. There is no generic /networks endpoint.
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 | Monitor, add/remove nodes |
| Stopped | Nodes have been shut down | Start nodes, delete, backup |
| Error | Network has encountered issues | View logs, restart nodes, 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 (Raft)
- Peers - Endorsers, committers, state database maintainers
- Channels - Isolated ledgers with specific members (a Fabric network in ChainLaunch represents a channel)
Create via UI:
- Go to Networks → Create Network
- Select Fabric
- Configure organizations, peers, and orderers
- Set channel policies
- Click Create
Via CLI:
chainlaunch networks fabric create --name fabric-networkHyperledger 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, QBFT, Clique
- Smart Contracts - EVM-based applications
Create via UI:
- Go to Networks → Create Network
- Select Besu
- Choose consensus mechanism
- Configure genesis parameters
- Click Create
Via CLI:
chainlaunch networks besu create --name besu-networkSee Create a Besu Network for detailed steps.
Importing Networks
Import existing networks without recreating them:
Import Fabric Network:
chainlaunch networks fabric import \
--channel-id mychannel \
--orderer-url orderer.example.com:7050 \
--orderer-tls-cert /path/to/tls-ca.pem \
--org-id 1 \
--description "imported-fabric-network"Import Besu Network:
curl -X POST http://localhost:8100/api/v1/networks/besu/import \
-u admin:password \
-H "Content-Type: application/json" \
-d '{
"name": "imported-besu-network"
}'Managing Nodes
Add Nodes to Fabric Network
Via API:
curl -X POST http://localhost:8100/api/v1/networks/fabric/1/nodes \
-u admin:password \
-H "Content-Type: application/json" \
-d '{
"name": "peer-0",
"nodeType": "FABRIC_PEER"
}'Start/Stop Nodes
Node lifecycle is managed per-node, not per-network. Each command accepts a slug or numeric ID.
Start a node:
chainlaunch nodes start peer0-org1Stop a node:
chainlaunch nodes stop peer0-org1Restart a node:
chainlaunch nodes restart peer0-org1Remove Nodes
chainlaunch nodes delete peer0-org1Monitoring Networks
View Network Status
Via UI:
- Go to Networks
- Select network to view status
- View node count, block height, peer connections
List networks:
chainlaunch networks fabric list
chainlaunch networks besu listThe CLI doesn't yet wrap GET /networks/{platform}/{id} (single-network detail) or /networks/{platform}/{id}/map. Use the API for those:
# Single-network detail
curl -u "$CHAINLAUNCH_USER:$CHAINLAUNCH_PASSWORD" \
"$CHAINLAUNCH_API_URL/networks/fabric/1"
# Network topology map
curl -u "$CHAINLAUNCH_USER:$CHAINLAUNCH_PASSWORD" \
"$CHAINLAUNCH_API_URL/networks/fabric/1/map"View Node Logs
# Last 100 lines (non-streaming)
chainlaunch nodes logs peer0-org1 --tail 100For live tail use the WebSocket endpoint directly: ws://localhost:8100/api/v1/nodes/1/logs.
View Node Events
chainlaunch nodes events peer0-org1Fabric-Specific Management
Manage Organizations
Create organization:
chainlaunch fabric org create --name org1 --msp-id Org1MSP --provider-id 1Join Peers and Orderers to Channels
In ChainLaunch, a Fabric network represents a channel. Join peers and orderers to the network's channel:
Join peer to channel:
chainlaunch networks fabric join --network-id 1 --peer-id 1Join orderer to channel:
chainlaunch networks fabric join-orderer --network-id 1 --orderer-id 1Set Anchor Peers
curl -X POST http://localhost:8100/api/v1/networks/fabric/1/anchor-peers \
-u admin:password \
-H "Content-Type: application/json" \
-d '{}'View Channel Info
Get channel configuration:
curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/channel-configGet network info:
curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/infoBrowse Blocks and Transactions
List blocks:
curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/blocksGet specific block:
curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/blocks/5Get transaction:
curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/transactions/txid123Deploy Chaincodes
See Deploy Chaincode for detailed steps.
Besu-Specific Management
View Besu Network Nodes
curl -u admin:password http://localhost:8100/api/v1/networks/besu/1/nodesDeploy Smart Contracts
curl -X POST http://localhost:8100/api/v1/sc/besu/deploy \
-u admin:password \
-H "Content-Type: application/json" \
-d '{}'Backup & Recovery
Create a Backup
chainlaunch backups create --target-id 1Restore 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