0g Validator Node Setup

Recommended Hardware: 8 Cores, 64GB RAM, 1TB of storage (NVME)

Installation

Install dependencies

sudo apt update && \
sudo apt install curl git jq build-essential gcc unzip wget lz4 pv -y

Install go

cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> ~/.bash_profile && \
source ~/.bash_profile && \
go version

Build 0gchaind binary from source

cd $HOME
rm -rf 0g-chain
git clone https://github.com/0glabs/0g-chain.git
cd 0g-chain
git checkout v0.4.0
git submodule update --init
make install
0gchaind version

Setup your variable settings

Initialize node & create home directory for .0gchain

Download genesis file

Set seeds & peers

Set required variable in config.toml & app.toml

Pruning (Optional to save storage space)

Set min gas price

Disable indexer

Create 0gd service for your node to run in the background

Download snapshot

Start node

Check logs

Create wallet

Extract the 0x address and use it for receiving testnet token

Request for Testnet token

Faucet - use your 0x address to request

Check your wallet balance (node must be synced in order to see the current balance)

Result example - 1 A0GI = 1,000,000 ua0gi

Create validator

Once your validator is created, check your validator here.

Run curl test to check for your RPC port if it's works properly

Last updated