> For the complete documentation index, see [llms.txt](https://opengpu-network.gitbook.io/opengpu-network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://opengpu-network.gitbook.io/opengpu-network/blockchain-reference/validator-deployment.md).

# 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)
