> 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/network-and-node-management/channel.md).

# Channel

## What is a Channel?

A Hyperledger Fabric **channel** functions as a network inside a network. When two or more users want to create a separate environment for interaction without involving other parties, they create a channel. Each channel has a separate ledger that only channel members can read or write to. This makes Hyperledger Fabric one of the best private blockchains.

## How to Create a Channel?

Go to the **Channels** tab and click **Create channel**.

<figure><img src="/files/Eulg6xX7Z1sdvlLJXFgS" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/D3lhZkNoI5IoZKrE0hYQ" alt=""><figcaption></figcaption></figure>

Provide the following:

### Name

Every channel has a unique name on the platform.

{% hint style="info" %}
Sometimes you cannot create a channel with a new name because other organizations in your network already used that name for a channel your organization doesn't participate in.
{% endhint %}

### Policy

The channel policy is the governing model for the channel — it controls validation of transactions, addition of new organizations, and chaincode-related actions.

### Organizations

At least one organization is required at creation. Add more later. Parameters for each organization:

* **Organization** — Only consortium members can be added during channel creation
* **Anchor peers** — Required for peer discovery; each organization must have at least one
* **Joined peers** — Peers from your organization that will join the channel
* **Consenters** — Subset of ordering nodes from the system channel responsible for ordering transactions; at least one required

{% hint style="info" %}
Starting from Catalyst Blockchain Manager v2.3.0, you can join an organization to a channel even if it doesn't host any ordering node.
{% endhint %}

* **Rights:** Admin (channel configurations), Writer (update ledger), Reader (query ledger), Endorser (approve chaincode)

{% hint style="info" %}
Each role should be covered by at least one organization while creating a channel.
{% endhint %}

Click **Create**. The channel appears under the **Channel** tab only after at least one peer has been added.

***

## Channel Details

After creating or joining a channel, configure it under the **Channels** tab.

<figure><img src="/files/q8WxbvmmRyttUKV5uZxS" alt=""><figcaption></figcaption></figure>

The **Download last block** button allows downloading the channel configuration in JSON or protobuf format.

### Organizations Tab

Shows organizations with their rights and peers that are part of the channel.

**Add an organization:**

Click **Add organization**. The organization must be in your partners list first.

{% hint style="danger" %}
Only one consenter can be added per organization. This consenter must also be present in the consenters list on the system channel. You can skip adding a consenter if the organization will use an external orderer.
{% endhint %}

{% hint style="info" %}
This action may create a proposal first. See the Proposals section below.
{% endhint %}

**Remove an organization:**

Removes the organization along with its consenter.

{% hint style="warning" %}
If the organization has more than one consenter in the channel, remove the extra consenters first before removing the organization.

If you are removing your own organization: do not commit the proposal yourself — let another organization in the channel commit it.
{% endhint %}

**Edit rights, add peers, update anchor peers:**

Available under the Organizations tab. You can only update peers belonging to your own organization.

{% hint style="info" %}
We recommend having at least one anchor peer per organization for service discovery.
{% endhint %}

### Ordering Tab

Shows orderer organizations and their consenters.

{% hint style="info" %}
Keep your orderer endpoints synced with the list of your consenters in the channel. If you see "No consenters" in the Consenters block, check if each consenter is reflected in the orderer endpoints list.
{% endhint %}

{% hint style="danger" %}
We do not recommend removing your **last consenter** from the channel. Remove your organization instead, which will remove the organization and consenter together.
{% endhint %}

### Channel Configuration Tab

Shows the channel genesis block configuration with an **Edit** option.

### Blocklist Tab

Shows blocks representing transactions that have happened sequentially over the channel. You can see the number of transactions per block and their details.

### Proposals Tab

Proposals are channel configuration changes that require approval according to the channel's policy.

A proposal is created automatically when:

* A channel has a **MAJORITY** or **ALL** policy and there is more than one admin organization
* An organization without admin rights initiates an action

| Status        | Description                                                      |
| ------------- | ---------------------------------------------------------------- |
| **Created**   | The proposal is ready to be voted on                             |
| **Voting**    | Voted by at least one organization, but policy not satisfied yet |
| **Voted**     | Policy is satisfied; proposal can be completed                   |
| **Completed** | All approvals done; proposal successfully completed              |
| **Canceled**  | Proposal was canceled                                            |

{% hint style="info" %}
A new proposal cannot be initiated until the existing proposal is complete or deleted. A channel snapshot is always taken when a proposal is created.
{% endhint %}

{% hint style="info" %}
Proposals (voting functionality) are implemented as a system chaincode integrated into the peer images. We recommend using the IntellectEU Hyperledger Fabric peer image (`intellecteu/fabric-peer`). If another peer image is used, proposals will not be available.
{% endhint %}

### Chaincodes Tab

Approve and commit chaincodes to the channel. You can also test your chaincode using query or invoke methods, or subscribe to chaincode events after it is committed.

<figure><img src="/files/5VTXWksoKlFpZvsr8HRP" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Only the organization that previously approved the chaincode can commit it to the channel.
{% endhint %}

***

## How to Join a Channel?

{% stepper %}
{% step %}

#### Organization 1 adds Organization 2

Organization 1 clicks **Add organization**, selects at least one of Organization 2's consenters, defines the rights, and clicks **Submit**.

<figure><img src="/files/lt37ozKhMLePiHvBd8qm" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can skip adding a consenter if the organization will use an external orderer.
{% endhint %}
{% endstep %}

{% step %}

#### Organization 2 joins the channel

Organization 2 goes to the peer section and clicks **Join to channel**. Enter the channel's exact name and click **Join**.

{% hint style="warning" %}
The channel name is case-sensitive. There is no dropdown menu to select channels for security reasons.
{% endhint %}

<figure><img src="/files/nmJbYrCXrfadMLXJ4gDZ" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Sometimes you need to wait a few minutes after being added to a channel before a peer can join.
{% endhint %}
{% endstep %}
{% endstepper %}

After joining, the channel appears under the **Channels** tab where you can update anchor peers, add more peers, add or delete consenters, and more.


---

# 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/network-and-node-management/channel.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.
