ZETA NODE SETUP
Copy sudo apt update && sudo apt upgrade -y
sudo apt install make curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
Install GO:
Copy cd $HOME
VER="1.22.8"
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"
[ ! -f $HOME/.bash_profile ] && touch $HOME/.bash_profile
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
[ ! -d $HOME/go/bin ] && mkdir -p $HOME/go/bin
Download & Build binary
Clone project repository
Copy cd $HOME
wget -O $HOME/zetacored https://github.com/zeta-chain/node/releases/download/v28.0.0/zetacored-linux-amd64
chmod +x $HOME/zetacored
mv $HOME/zetacored $HOME/go/bin
Check version:
Copy $HOME/go/bin/zetacored version --long | tail
result:
Copy - rsc.io/tmplfunc@v0.0.3
- sigs.k8s.io/yaml@v1.4.0
build_tags: ""
commit: 02f7a33ada5c6917d086447bc36851ffef45a80c
cosmos_sdk_version: v0.50.12
go: go version go1.22.11 linux/amd64
name: zetacore
server_name: <appd>
version: 28.0.0
Install Cosmovisor and create a service
Download and install Cosmovisor
Copy cd $HOME
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
Or
Copy go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.6.0
Init & prepare for Upgrade Cosmovisor folder
Copy mkdir -p $HOME/.zetacored/cosmovisor/upgrades/v28/bin
cp $HOME/go/bin/sedad $HOME/.sedad/cosmovisor/genesis/bin/
cp $HOME/go/bin/sedad $HOME/.sedad/cosmovisor/upgrades/v28/bin
Copy DAEMON_HOME="$HOME/.zetacored/" DAEMON_NAME="zetacored" cosmovisor init $HOME/go/bin/zetacored
Create service
Copy sudo tee /etc/systemd/system/zetacored.service > /dev/null << EOF
[Unit]
Description=ZETA node
After=network-online.target
[Service]
User=$USER
WorkingDirectory=$HOME/.zetacored
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
Environment="DAEMON_HOME=$HOME/.zetacored"
Environment="DAEMON_NAME=zetacored"
Environment="UNSAFE_SKIP_BACKUP=true"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
[Install]
WantedBy=multi-user.target
EOF
Copy sudo systemctl daemon-reload
sudo systemctl enable zetacored
INITIA NODE:
Set var:
with port=13
xxx
Copy echo "export WALLET="wallet"" >> $HOME/.bash_profile
echo "export MONIKER="LuckyStar"" >> $HOME/.bash_profile
echo "export SEDA_CHAIN_ID="zetachain_7000-1"" >> $HOME/.bash_profile
echo "export SEDA_PORT="13"" >> $HOME/.bash_profile
source $HOME/.bash_profile
CONFIG & INIT APP
Set node configuration
Copy zetacored config set client chain-id ZETA_CHAIN_ID
zetacored config set client keyring-backend os
zetacored config set client node tcp://localhost:${ZETA_PORT}657
Initialize the node
Copy zetacored init $MONIKER --chain-id $ZETA_CHAIN_ID --home=$HOME/.zetacored
Custom Port:
set custom ports in app.toml
Copy sed -i.bak -e "s%:1317%:${ZETA_PORT}317%g;
s%:8080%:${ZETA_PORT}080%g;
s%:9090%:${ZETA_PORT}090%g;
s%:9091%:${ZETA_PORT}091%g;
s%:8545%:${ZETA_PORT}545%g;
s%:8546%:${ZETA_PORT}546%g;
s%:6065%:${ZETA_PORT}065%g" $HOME/.zetacored/config/app.toml
set custom ports in config.toml
file
Copy sed -i.bak -e "s%:26658%:${ZETA_PORT}658%g;
s%:26657%:${ZETA_PORT}657%g;
s%:6060%:${ZETA_PORT}060%g;
s%:26656%:${ZETA_PORT}656%g;
s%^external_address = \"\"%external_address = \"$(wget -qO- eth0.me):${ZETA_PORT}656\"%;
s%:26660%:${ZETA_PORT}660%g" $HOME/.zetacored/config/config.toml
Download genesis and addrbook
Copy curl -Ls https://zeta-mainnet-services.luckystar.asia/zeta/genesis.json > $HOME/.zeta/config/genesis.json
curl -Ls https://zeta-mainnet-services.luckystar.asia/zeta/addrbook.json > $HOME/.zeta/config/addrbook.json
Add seeds
Copy seeds="4e668be2d80d3475d2350e313bc75b8f0646884f@zetachain-mainnet-seed.itrocket.net:39656"
sed -i -e "s|^seeds *=.*|seeds = \"$seeds\"|" $HOME/.zetacored/config/config.toml
Set minimum gas price
Copy sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.0azeta\"|" $HOME/.zetacored/config/app.toml
Set pruning
Copy 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/.zetacored/config/app.toml
Disable indexer
Copy sed -i -e 's|^indexer *=.*|indexer = "null"|' $HOME/.zetacored/config/config.toml
Enable Prometheus
Copy sed -i -e "s/prometheus = false/prometheus = true/" $HOME/.zetacored/config/config.toml
Remove node: Please, before proceeding with the next step! All chain data will be lost! Make sure you have backed up your priv_validator_key.json!
Copy cd $HOME
sudo systemctl stop zetacored
sudo systemctl disable zetacored
sudo rm /etc/systemd/system/zetacored.service
sudo systemctl daemon-reload
sudo rm -f $(which zetacored)
rm -rf $HOME/.zetacored
rm -rf $HOME/zetacored