Enterprise-grade Hyperledger Fabric network deployment toolkit with configuration-driven automation
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.
- 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
- Docker 20.10+
- Docker Compose 2.0+
- 4GB RAM minimum
# One-click deployment
make quickstartThat'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
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┌─────────────────────────────────────────────────────────┐
│ Fabric-X Network │
├─────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Orderer │ │ Orderer │ │ Orderer │ │
│ │ Org 1-4 │ │ Org 1-4 │ │ Org 1-4 │ │
│ │ │ │ │ │ │ │
│ │ • Router │ │ • Batcher │ │ • Consenter │ │
│ │ • Assembler │ │ │ │ │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────┐ │
│ │ Peer Organizations │ │
│ │ │ │
│ │ ┌─────────────┐ │ │
│ │ │ Org1MSP │ │ │
│ │ │ │ │ │
│ │ │ • Peer0 │ │ │
│ │ │ • Committer│ │ │
│ │ └─────────────┘ │ │
│ └──────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘
- 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
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# 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=podmanCreate 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# 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=Org1MSPFor a complete clean slate (teardown + setup + start + create namespace):
make quickstartIf ports are already in use, modify the port mappings in configs/test-full.yaml:
orderers:
- name: orderer-router-1
port: 8050 # Changed from 7050We welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
# Clone the repository
git clone https://github.com/Built-by-Sign/fabric-x-network.git
cd fabric-x-network
# Run tests
make quickstartThis project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Built on Hyperledger Fabric
- Powered by Fabric-X
- Certificate management via cryptogen
Made with ❤️ for the Hyperledger community