ChainLaunch

Network Management

This guide covers creating, managing, and monitoring blockchain networks in ChainLaunch.

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:

  1. Go to Networks → Create Network
  2. Select Fabric
  3. Configure organizations, peers, and orderers
  4. Set channel policies
  5. Click Create

Via CLI:

chainlaunch networks fabric create --name fabric-network

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, QBFT, Clique
  • 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

Via CLI:

chainlaunch networks besu create --name besu-network

See 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-org1

Stop a node:

chainlaunch nodes stop peer0-org1

Restart a node:

chainlaunch nodes restart peer0-org1

Remove Nodes

chainlaunch nodes delete peer0-org1

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

List networks:

chainlaunch networks fabric list
chainlaunch networks besu list

The 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 100

For live tail use the WebSocket endpoint directly: ws://localhost:8100/api/v1/nodes/1/logs.

View Node Events

chainlaunch nodes events peer0-org1

Fabric-Specific Management

Manage Organizations

Create organization:

chainlaunch fabric org create --name org1 --msp-id Org1MSP --provider-id 1

Join 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 1

Join orderer to channel:

chainlaunch networks fabric join-orderer --network-id 1 --orderer-id 1

Set 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-config

Get network info:

curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/info

Browse Blocks and Transactions

List blocks:

curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/blocks

Get specific block:

curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/blocks/5

Get transaction:

curl -u admin:password http://localhost:8100/api/v1/networks/fabric/1/transactions/txid123

Deploy 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/nodes

Deploy 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 1

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