# Validator Deployment

Validator nodes are the backbone of the OpenGPU blockchain network. This guide walks through running a validator node on the OpenGPU mainnet.

## Hardware Requirements

| Spec         | Minimum                                               |
| ------------ | ----------------------------------------------------- |
| CPU          | 4 vCPUs                                               |
| RAM          | 32 GB                                                 |
| Storage      | 1 TB NVMe SSD (preferably local)                      |
| Internet     | 1 Gbps symmetric connection                           |
| OS           | Ubuntu 22.04 or newer LTS (64-bit)                    |
| Network Port | Default TCP/UDP 5050 (customizable via `--port` flag) |

## Setup Steps

### 1. Launch Server Instance

Deploy on a cloud provider or bare metal server.

### 2. Install Development Tools

Install essential packages and Go (v1.22+):

```bash
sudo apt update && sudo apt install -y build-essential
wget https://go.dev/dl/go1.23.4.linux-amd64.tar.gz
sudo tar -xzf go1.23.4.linux-amd64.tar.gz -C /usr/local/
echo "export GOROOT=/usr/local/go" >> ~/.profile
echo "export GOPATH=$HOME/go" >> ~/.profile
echo "export PATH=$PATH:$GOROOT/bin:$GOPATH/bin" >> ~/.profile
source ~/.profile
```

### 3. Download OpenGPU Node Software

```bash
wget https://github.com/oGPUNetwork/ogpu-chain/archive/refs/tags/v1.0.0.tar.gz
tar -xzf v1.0.0.tar.gz
sudo mv ogpu* /usr/local/bin/
```

### 4. Initialize Validator Database

```bash
wget https://raw.githubusercontent.com/oGPUNetwork/ogpu-chain/refs/heads/main/mainnet-genesis.json
GOMEMLIMIT=32GiB ogputool --datadir ~/.opengpu --cache 12000 genesis --mode validator mainnet-genesis.json
```

### 5. Synchronize With Network

```bash
GOMEMLIMIT=32GiB ogpud --datadir ~/.opengpu --cache 12000 --mode validator
```

Block "age" should reach only seconds once fully synced.

### 6. Create Validator Wallet

```bash
ogputool --datadir ~/.opengpu account new
```

Keep your keys secure and backed up!

### 7. Generate Signing Key

```bash
ogputool --datadir ~/.opengpu validator new
```

Save the public key (starts with 0x...). You'll need it to register your validator.

### 8. Register Your Validator

Use a Web3-enabled wallet (MetaMask) to interact with the staking contract at `0x0000000000000000000000000000000000000018`. Submit the `createValidator` transaction with your staking amount and public key.

### 9. Start Validator Node

```bash
pkill ogpud
GOMEMLIMIT=32GiB ogpud --datadir ~/.opengpu --cache 12000 --mode validator \
  --validator.id <VALIDATOR_ID> \
  --validator.pubkey <PUBLIC_KEY> \
  --validator.password <PASSWORD_FILE>
```

## Monitoring & Maintenance

* Node downtime stops rewards immediately
* Extended downtime exceeding 3 days may result in validator removal
* Regular monitoring, backups, and log reviews are essential

## Community Resources

* **Explorer**: [ogpuscan.io](https://ogpuscan.io)
* **X (Twitter)**: [x.com/opengpufndn](https://x.com/ogpu_network)
* **Telegram**: [t.me/opengpuportal](https://t.me/opengpuportal)


---

# 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://opengpu-network.gitbook.io/opengpu-network/blockchain-reference/validator-deployment.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.
