> 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/peer-xet.md).

# Peer Xet

## What is a Peer Set?

Catalyst Blockchain Manager introduces a **peer set** — a unique entity in the blockchain network that acts as a template for peer nodes. By creating a peer set, the user can standardize the desired configurations and quickly create any number of peers with a predefined set of configurations, avoiding repetitive setup.

## What is a Peer?

Peers are the nodes in a blockchain network that host a copy of the distributed ledger and smart contracts. In Hyperledger Fabric, a peer is a gateway for applications and users to interact with the blockchain. Any transactions completed by users are executed on a peer by initiating a smart contract (contained in a chaincode).

## How to Create a Peer Set?

Go to the **Peers** tab and click **Create peer set**.

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

Provide:

* **Peer set name** — Used to identify peers under unique settings
* **Image** — Docker image for the network setup

{% hint style="info" %}
The use of the custom peer image available at `intellecteu/fabric-peer` is **highly recommended** because of the voting system chaincode integrated into the image. The latest available version is `2.3-gov`.

For private repositories, specify an `imagePullSecret`. You can create one in your Kubernetes cluster with the label `"app.kubernetes.io/name": "image-pull-secret"`.
{% endhint %}

* **Resources:** Requested CPU, CPU limit, Requested memory (MB), Memory limit (MB), Storage size
* **Add CouchDB**

<details>

<summary>LevelDB vs CouchDB — which should I choose?</summary>

Hyperledger Fabric supports two state databases:

| Database              | Best for                                                                                             |
| --------------------- | ---------------------------------------------------------------------------------------------------- |
| **LevelDB** (default) | Key-value state interactions; simpler use cases that prioritize speed                                |
| **CouchDB**           | JSON format data; enables rich queries and complex data models; requires indexes for large databases |

</details>

{% hint style="danger" %}
The following environment variables cannot be customized: `FABRIC_CFG_PATH`, `CORE_PEER_FILESYSTEMPATH`, `CORE_PEER_LISTENADDRESS`, `CORE_PEER_CHAINCODELISTENADDRESS`
{% endhint %}

## How to Create a Peer?

After creating a peer set, click the **Create new peer** button on the peer set.

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

Provide:

1. **Peer name** — Cannot be the same as any other peer in the organization
2. **Select MSP** — Provides identity to the peer on the network
3. **Signing identity** — Select an existing identity or create a new one
4. **TLS certificate** — Similar to step 3, but for enrolling a TLS certificate
5. **CouchDB credentials** — Only if CouchDB was chosen for the peer set

## Peer Details

Clicking on a peer opens the peer details page.

<figure><img src="/files/15gMgc1zfVTO9vk5DxdB" alt=""><figcaption></figcaption></figure>

<details>

<summary>Peer node states</summary>

| State           | Description                                       |
| --------------- | ------------------------------------------------- |
| **Pending**     | Starting or awaiting Kubernetes cluster expansion |
| **Running**     | Successfully created and ready to use             |
| **Terminating** | User has initiated removal                        |
| **Failed**      | Unable to start (e.g., exhausted resources)       |
| **Unknown**     | Node status could not be obtained                 |

</details>

Available actions: **Delete**, **Restart**

{% hint style="warning" %}
Delete peers carefully. If you delete a peer where chaincode is installed and a chaincode definition is committed to a channel, you will need to reinstall the chaincode, re-approve, and re-commit the definition. You will also lose access to channels where this was your only peer.
{% endhint %}

The details page has four tabs:

{% tabs %}
{% tab title="Channels" %}
Displays the channels the peer has joined. You can also join your peer to a channel here.

<figure><img src="/files/TijcHryyMGugRZRd7rRU" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Chaincodes" %}
Displays chaincodes installed on the peer. You can also install a chaincode here.

<figure><img src="/files/TiMCMJVLMTCFeIOtpukS" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Events" %}
Displays events with a particular peer's node.
{% endtab %}

{% tab title="Logs" %}
Displays logs of the containers related to a particular peer node. Filter logs by text and/or level.

{% hint style="info" %}
Scroll down to see the newest logs.
{% endhint %}
{% endtab %}
{% endtabs %}


---

# 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/peer-xet.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.
