Ordering Service
What is an Ordering Service?
Hyperledger Fabric features an ordering node (orderer) that performs transaction ordering, along with other orderer nodes forming an ordering service. Because Hyperledger Fabric's design relies on deterministic consensus algorithms, any block validated by the peer is guaranteed to be final and correct — ledgers cannot fork the way they do in other distributed blockchain networks. See the Hyperledger Fabric documentation for more.
System Channel
Every network begins with an ordering system channel. The policies in the ordering system channel configuration govern the consensus used by the ordering service and define how new blocks are created. It also contains information about orderer organizations and those allowed to create new channels (consortium organizations).
Raft
Starting from version 2.0, Hyperledger Fabric only supports Raft consensus. Raft is a crash fault-tolerant consensus protocol that allows multiple non-trusting organizations to reach mutual agreement through a leader-follower concept.
To keep an ordering service functional, you need to achieve a quorum — the minimum number of working orderers (consenters) required to ensure effective consensus. For every consenter set, this is a majority of nodes (e.g., 3 out of 5, 2 out of 2).
Ordering Set
An ordering set is a template introduced by Catalyst Blockchain Manager for ordering nodes. Configurations specified when creating an ordering set apply to all orderers within it.
How to Create an Ordering Set?
Go to the Orderers page and click Create ordering set.

Provide:
Ordering set name
Image — Docker image for creating ordering nodes
Resources: Requested CPU, CPU limit, Requested memory (MB), Memory limit (MB), Storage size
Environment variables
You can create as many ordering sets as needed.
How to Create an Orderer?
Click Add new node in the ordering set page.

Provide:
Orderer name — Cannot be the same as any other orderer in the organization
Select MSP — Provides identity to the orderer on the network
Add a signing identity — Select an existing identity or create a new one with a password
Add a TLS identity — Similar to step 3, but for enrolling a TLS certificate
After creation, the new orderer appears under the Orderers tab with a "No genesis block" button. You need to add the genesis block for the ordering node to function.
How to Create an External Orderer?
If your organization does not host any ordering nodes, you can add an external orderer that connects to an orderer deployed by another organization.
Go to the Orderers tab and click Create external orderer. Provide the name, choose the MSP of the organization hosting the orderer, and provide the link to the orderer.

How to Add a Genesis Block?
To make an orderer functional, you must add a genesis block containing the system channel configuration.
You need to bootstrap a system channel to create a new network. See How to Create a System Channel.
Click the No Genesis Block button at the ordering node, or click Add genesis block from the node's detail page.
Two options:
Fetch a genesis block — Provide a link to any active orderer from a system channel. Your ordering node will fetch the last block automatically.
Upload a genesis block — Ask any orderer organization to download the last system channel's block and send it to you. Upload it to your ordering node.

If you're already a network member and want to add another orderer to the system channel:
Create the orderer.
Add the new orderer to the consenter set on the system channel at the Raft page.
Add a genesis block (fetch or upload).

How to Create a System Channel?
Go to the Orderers page, click System channel, then Create system channel.

Add Orderer Organizations
Orderer organizations contribute ordering nodes to the ordering service.
Your organization: Select its MSP and orderers (create these before creating the system channel)
Other organizations: Select their MSP and upload their orderer's JSON profile (only one orderer per organization at this step)

Configure the System Channel
Configure batch timeout, batch size, and Raft options (tick interval, max inflight blocks, etc.). All fields are pre-populated with recommended settings. See Raft configuration docs for details.

How to Add an Organization as an Orderer Organization?
Option 1 — During system channel creation: Select the organization from the dropdown and provide its orderer JSON profile.
Option 2 — On the Raft page of the system channel details: Click Add organization.

How to Add an Organization to the Consortium?
Option 1 — During system channel creation: Select the organization from the dropdown.
Option 2 — On the Consortium page of the system channel details: Click Add an Organization and select from the dropdown.

Last updated
Was this helpful?
