> For the complete documentation index, see [llms.txt](https://docs.catalyx.solutions/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.catalyx.solutions/catalyx-blockchain-manager/hyperledger-fabric/version-2.4/getting-started/component-overview.md).

# Component Overview

Catalyst Blockchain Manager leverages Hyperledger Fabric inner components that work together to enable the configuration and development of blockchain networks and the use cases implemented on top of them.

A more comprehensive overview of Hyperledger Fabric can be found in the [official documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.5/).

## Peer Nodes

Blockchain networks are composed of a list of organizations that interact in a decentralized and distributed manner. Each organization manages its nodes and identities required to enable its participation in the network. A **Peer Node** represents its Organization in the physical network, acting both as a client and a server.

It participates in the creation and management of blockchain ledgers, as well as the validation of transactions and blocks. Their main responsibilities are:

1. **Ledger replication** — Peer Nodes ensure that a copy of the ledger is stored on multiple nodes, providing robustness and reliability.
2. **Validation** — Peer Nodes validate transactions and blocks before they are added to the ledger, ensuring the integrity of the network.
3. **Chaincode execution** — Peer Nodes execute chaincode (the business logic of the network) on behalf of client applications.
4. **Endorsing transactions** — Peer Nodes endorse transactions by providing their signatures, required before a transaction can be committed to the ledger.
5. **Accessibility** — Peer Nodes serve as points of contact for other nodes to access the blockchain ledger and perform queries.

{% hint style="info" %}
For a more detailed explanation, see the [Peer Nodes documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.5/peers/peers.html).
{% endhint %}

## Certificate Authorities

One of the main features of Hyperledger Fabric is that it enables trust that everyone in the network is who they claim to be. Being a permissioned protocol, every actor in the Hyperledger Fabric network needs a specific identity from an authorized entity.

A **Certificate Authority (CA)** issues the certificates that are implicitly used by every component of an organization. These certificates are data files used to cryptographically identify an entity.

{% hint style="info" %}
For a more detailed explanation, see the [Certificate Authorities documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.5/identity/identity.html#what-is-an-identity).
{% endhint %}

## Ordering Service

The **Ordering Service** in Hyperledger Fabric provides a reliable, scalable, and centralized mechanism for ensuring the consistency of transactions across all Peer Nodes in a network.

The Ordering Service is responsible for creating blocks of transactions, assigning each block a unique identifier, and distributing the blocks to all Peer Nodes in the network. This ensures that every node has the same view of the ledger. It operates as a cluster of nodes, providing redundancy and resilience in case of failures.

{% hint style="info" %}
For a more detailed explanation, see the [Ordering Service documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.5/orderer/ordering_service.html).
{% endhint %}

## Channel

A **Channel** in Hyperledger Fabric is the communication means between participating Peer Nodes, through which they transact and maintain a shared ledger. It acts as a separate and isolated ledger, which enables parties to transact confidentially without revealing the details of their transactions to other parties in the network.

In a Hyperledger Fabric network, each Channel has its own chain of blocks (the channel ledger), which contains a specific set of transactions. The Ordering Service operates at the Channel level, ordering transactions within the Channel and distributing the ordered transactions to the participating Peer Nodes.

{% hint style="info" %}
For a more detailed explanation, see the [Channel documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.2/channels.html).
{% endhint %}

## Smart Contract and Chaincode

A **Smart Contract** in Hyperledger Fabric is a set of instructions and rules that runs on the blockchain and defines the terms of an agreement between parties. It contains the business logic for executing transactions and updating the ledger.

In Hyperledger Fabric, Smart Contracts are implemented as **Chaincode** — a program written in a supported programming language such as Go or Node.js. Chaincode is deployed to the Peer Nodes and is executed by them on behalf of client applications.

{% hint style="info" %}
For a more detailed explanation, see the [Smart Contract documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.2/smartcontract/smartcontract.html).
{% endhint %}

## Application

An **Application** in Hyperledger Fabric is the client software that provides a connection between users and the blockchain network. Applications allow users to perform transactions, retrieve information from the ledger, and receive updates on the network's state.

Applications use certificates to authenticate themselves and establish trust with Peer Nodes and Certificate Authorities. They can connect to multiple Channels and submit transactions to be processed by the Chaincode deployed on Peer Nodes.

{% hint style="info" %}
For a more detailed explanation, see the [Hyperledger Fabric documentation](https://hyperledger-fabric.readthedocs.io/en/release-2.2/developapps/application.html).
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.catalyx.solutions/catalyx-blockchain-manager/hyperledger-fabric/version-2.4/getting-started/component-overview.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
