Installation Node
Hardware requirements
The following requirements are recommended for running Warden:
- 4 or more physical CPU cores
- At least 200GB of SSD disk storage
- At least 8GB of memory (RAM)
- At least 100mbps network bandwidth
Install dependencies Required
sudo apt update && sudo apt upgrade -y && sudo apt install curl tar wget clang pkg-config libssl-dev jq build-essential bsdmainutils git make ncdu gcc git jq chrony liblz4-tool -y
Install go
We are gonna use GO Version 1.21.7 If you already have GO installed you can skip this
ver="1.21.7"
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
Install binary
git clone -b v0.1.0 https://github.com/0glabs/0g-chain.git
cd 0g-chain
make install
Verify that you’ve installed Warden successfully
0gchaind version --long | grep -e commit -e version
Initialize Node
Please change <MONIKER>
To your own Moniker.
0gchaind init <MONIKER> --chain-id zgtendermint_16600-1
0gchaind config chain-id zgtendermint_16600-1
Download Genesis file and addrbook
- Genesis
wget -P ~/.0gchain/config https://github.com/0glabs/0g-chain/releases/download/v0.1.0/genesis.json
- Addrbook
wget -O $HOME/.0gchain/config/addrbook.json https://raw.githubusercontent.com/vinjan23/Testnet.Guide/main/0gchain/addrbook.json
Configure Seeds and Peers
seeds="c4d619f6088cb0b24b4ab43a0510bf9251ab5d7f@54.241.167.190:26656,44d11d4ba92a01b520923f51632d2450984d5886@54.176.175.48:26656,f2693dd86766b5bf8fd6ab87e2e970d564d20aff@54.193.250.204:26656,f878d40c538c8c23653a5b70f615f8dccec6fb9f@18.166.164.232:26656"
sed -i -e "s|^seeds *=.*|seeds = \"$seeds\"|" $HOME/.0gchain/config/config.toml
peers="445f20cc15a24d8159cf491e542cc3ee779888b8@152.53.18.245:20656,ba3f19565a6c3106526d90b413824b6bed01080b@88.99.61.53:45656"
sed -i.bak -e "s/^persistent_peers *=.*/persistent_peers = \"$peers\"/" $HOME/.0gchain/config/config.toml
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0ua0gi\"|" $HOME/.0gchain/config/app.toml
config pruning
sed -i \
-e 's|^pruning *=.*|pruning = "custom"|' \
-e 's|^pruning-keep-recent *=.*|pruning-keep-recent = "100"|' \
-e 's|^pruning-keep-every *=.*|pruning-keep-every = "0"|' \
-e 's|^pruning-interval *=.*|pruning-interval = "19"|' \
$HOME/.0gchain/config/app.toml
create service file and start node
Create service file Create a wardend.service
file in the /etc/systemd/system
folder with the following code. You can change USER
with your Linux user name. You need sudo previlege to do this step.
sudo tee /etc/systemd/system/0gchaind.service > /dev/null <<EOF
[Unit]
Description=0gchain
After=network-online.target
[Service]
User=$USER
ExecStart=$(which 0gchaind) start
Restart=on-failure
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
- Enable Service and Start Node
sudo systemctl daemon-reload
sudo systemctl enable 0gchaind
sudo systemctl restart 0gchaind
sudo journalctl -u 0gchaind -f -o cat
Snapshot
Create Validator
Heads up to the Cheat Sheets to create validator