# 4. Validators & Node Operators

Riche Chain runs on the **Hyperledger Besu** client. Below are the specifications and guidelines for setting up a node.

### Hardware Requirements

* **vCPU:** 4 Cores
* **RAM:** 8 GB
* **Storage:** 100GB+ SSD (NVMe recommended for high throughput)
* **OS:** Linux (Ubuntu 20.04/22.04 LTS recommended)

### Prerequisites

* **Docker & Docker Compose** (Recommended method)
* **Java:** OpenJDK 21 (Required if building/running from binary)
* **Besu Version:** 24.12.0

### Option A: Running with Docker (Recommended)

The easiest way to run a node is using the official Docker setup.

1. **Clone the Repository:**

```common-lisp
git clone https://github.com/richechain/mainnet.git
cd mainnet
```

2. **Start the Node:**

```common-lisp
docker-compose up -d
```

3. **Check Logs:**

```common-lisp
docker logs -f riche-chain-node
```

### Option B: Running with Besu Binary

Ensure you have Hyperledger Besu **v24.12.0** installed and are using **OpenJDK 21**.

1. **Run the node pointing to the config file:**

```common-lisp
besu --config-file=config.toml
```

### Repository Structure

* `genesis.json`: Defines chain parameters and initial allocations.
* `config.toml`: Configuration file for the Besu node.
* `static-nodes.json`: List of stable bootnodes for peer discovery.
* `docker-compose.yml`: Container orchestration for quick deployment.


---

# Agent Instructions: 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://richecoin.gitbook.io/richecoin-docs/riche-chain-mainnet-documentation/4.-validators-and-node-operators.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.
