Skip to content

Built-by-Sign/fabric-x-network

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fabric-X Network

Enterprise-grade Hyperledger Fabric network deployment toolkit with configuration-driven automation

License Fabric

Overview

Fabric-X Network is a production-ready deployment framework for Hyperledger Fabric that eliminates the complexity of blockchain network setup. Define your network topology in YAML, and let the toolkit handle certificate generation, configuration management, and Docker orchestration.

Key Features

  • Configuration-Driven - Define entire network topology in declarative YAML
  • One-Command Deployment - From zero to running network in seconds
  • Production-Ready - Enterprise-grade certificate management with cryptogen
  • Docker Native - Seamless integration with Docker Compose
  • Namespace Management - Built-in support for Fabric-X namespace operations

Quick Start

Prerequisites

  • Docker 20.10+
  • Docker Compose 2.0+
  • 4GB RAM minimum

Launch Your Network

# One-click deployment
make quickstart

That's it! Your Fabric network is now running with:

  • Multi-organization setup
  • Orderer nodes (Router, Batcher, Consenter, Assembler)
  • Peer nodes with committer sidecars
  • Namespace created and ready

Available Commands

make quickstart    # Full deployment: teardown → setup → start → create namespace
make restart       # Quick restart: stop → start (keeps config)
make setup         # Generate network configuration
make start         # Start the network
make stop          # Stop the network
make teardown      # Stop and remove all volumes
make clean         # Remove generated artifacts
make create-ns     # Create namespace
make list-ns       # List namespaces
make help          # Show all commands

Architecture

Network Topology

┌─────────────────────────────────────────────────────────┐
│                    Fabric-X Network                      │
├─────────────────────────────────────────────────────────┤
│                                                           │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐  │
│  │   Orderer    │  │   Orderer    │  │   Orderer    │  │
│  │   Org 1-4    │  │   Org 1-4    │  │   Org 1-4    │  │
│  │              │  │              │  │              │  │
│  │  • Router    │  │  • Batcher   │  │  • Consenter │  │
│  │  • Assembler │  │              │  │              │  │
│  └──────────────┘  └──────────────┘  └──────────────┘  │
│                                                           │
│  ┌──────────────────────────────────────────────────┐   │
│  │              Peer Organizations                   │   │
│  │                                                    │   │
│  │  ┌─────────────┐                                 │   │
│  │  │   Org1MSP   │                                 │   │
│  │  │             │                                 │   │
│  │  │  • Peer0    │                                 │   │
│  │  │  • Committer│                                 │   │
│  │  └─────────────┘                                 │   │
│  └──────────────────────────────────────────────────┘   │
│                                                           │
└─────────────────────────────────────────────────────────┘

Components

  • Orderer Nodes: Consensus and transaction ordering
    • Router: Message routing and distribution
    • Batcher: Transaction batching
    • Consenter: Consensus participation
    • Assembler: Block assembly
  • Peer Nodes: Ledger maintenance and chaincode execution
  • Committer: Transaction validation and ledger updates
  • Namespace: Fabric-X namespace for token operations

Configuration

Network Definition

Edit configs/test-full.yaml to customize your network:

# Network configuration
channel_id: arma
output_dir: ./out

# Docker images
docker:
  orderer_image: hyperledger/fabric-x-orderer:0.0.23
  committer_image: hyperledger/fabric-x-committer:0.1.8

# Orderer organizations
orderer_orgs:
  - name: OrdererOrg1
    domain: ordererorg1.example.com
    orderers:
      - name: orderer-router-1
        type: router
        port: 7050

# Peer organizations
peer_orgs:
  - name: Org1MSP
    domain: org1.example.com
    peers:
      - name: peer0
    users:
      - name: Admin
      - name: User1

Environment Variables

# Override default Docker image
export DOCKER_TOOLS_IMAGE=ghcr.io/built-by-sign/fabric-x-tool:v0.0.5

# Use podman instead of docker
export CONTAINER_CLI=podman

Advanced Usage

Custom Network Topology

Create your own configuration file:

cp configs/test-full.yaml configs/my-network.yaml
# Edit configs/my-network.yaml
make setup CONFIG=configs/my-network.yaml

Namespace Operations

# Create namespace
make create-ns

# List all namespaces
make list-ns

# Custom namespace creation
docker run --rm --network host \
  ghcr.io/built-by-sign/fabric-x-tool:v0.0.5 \
  fxconfig namespace create my-namespace \
  --channel=arma \
  --orderer=localhost:7050 \
  --mspID=Org1MSP

Troubleshooting

Network Reset

For a complete clean slate (teardown + setup + start + create namespace):

make quickstart

Port Conflicts

If ports are already in use, modify the port mappings in configs/test-full.yaml:

orderers:
  - name: orderer-router-1
    port: 8050  # Changed from 7050

Contributing

We welcome contributions! Please follow these guidelines:

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

Development Setup

# Clone the repository
git clone https://github.com/Built-by-Sign/fabric-x-network.git
cd fabric-x-network

# Run tests
make quickstart

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

Acknowledgments

Support


Made with ❤️ for the Hyperledger community

About

One-command deployment of multi-organization Hyperledger Fabric-X networks with automated certificate management and Docker-native orchestration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors