Install Union Validator
System Specs
Section titled “System Specs”| Hardware | Requirement |
|---|---|
| CPU | 4 Cores |
| RAM | 8 GB |
| Disk | 256 GB |
Last update: 16-02-2025
Install Union Validator (testnet-9) di Ubuntu
Section titled “Install Union Validator (testnet-9) di Ubuntu”- Update paket dan install build tools
apt updateapt install curl git jq lz4 build-essential -yapt upgrade -y- Install GO
sudo rm -rf /usr/local/gocurl -Ls https://go.dev/dl/go1.22.3.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/localeval $(echo 'export PATH=$PATH:/usr/local/go/bin' | sudo tee /etc/profile.d/golang.sh)eval $(echo 'export PATH=$PATH:$HOME/go/bin' | tee -a $HOME/.profile)- Download binaries union
mkdir -p $HOME/.union/cosmovisor/genesis/binwget -O $HOME/.union/cosmovisor/genesis/bin/uniond https://snapshots.kjnodes.com/union-testnet/uniond-v0.25.0-linux-amd64chmod +x $HOME/.union/cosmovisor/genesis/bin/uniondln -s $HOME/.union/cosmovisor/genesis $HOME/.union/cosmovisor/current -fsudo ln -s $HOME/.union/cosmovisor/current/bin/uniond /usr/local/bin/uniond -f- Install Cosmovisor
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@v1.6.0- Create service union (systemd)
sudo tee /etc/systemd/system/union-testnet.service > /dev/null << EOF[Unit]Description=union node serviceAfter=network-online.target
[Service]User=$USERExecStart=$(which cosmovisor) run start --home=$HOME/.unionRestart=on-failureRestartSec=10LimitNOFILE=65535Environment="DAEMON_HOME=$HOME/.union"Environment="DAEMON_NAME=uniond"Environment="UNSAFE_SKIP_BACKUP=true"Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:$HOME/.union/cosmovisor/current/bin"
[Install]WantedBy=multi-user.targetEOFsystemctl daemon-reloadsystemctl enable union-testnet.service- Inisialisasi node
- Workaround mandatory home argument
alias uniond='uniond --home=$HOME/.union/'- Set node configuration
uniond config set client chain-id union-testnet-9uniond config set client keyring-backend testuniond config set client node tcp://localhost:17157- Initialize the node (ubah VALIDATOR-NAME menjadi nama validator anda)
MONIKER="VALIDATOR-NAME"uniond init $MONIKER --chain-id union-testnet-9 --home=$HOME/.union- Download genesis and addrbook
curl -Ls https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/union/genesis.json > $HOME/.union/config/genesis.jsoncurl -Ls https://raw.githubusercontent.com/CoinHuntersTR/props/refs/heads/main/union/addrbook.json > $HOME/.union/config/addrbook.json- Add seeds
sed -i -e "s|^seeds *=.*|seeds = \"3f472746f46493309650e5a033076689996c8881@union-testnet.rpc.kjnodes.com:17159\"|" $HOME/.union/config/config.toml- Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0muno\"|" $HOME/.union/config/app.toml- Set 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/.union/config/app.toml- Set custom ports
sed -i -e "s%^proxy_app = \"tcp://127.0.0.1:26658\"%proxy_app = \"tcp://127.0.0.1:17158\"%; s%^laddr = \"tcp://127.0.0.1:26657\"%laddr = \"tcp://127.0.0.1:17157\"%; s%^pprof_laddr = \"localhost:6060\"%pprof_laddr = \"localhost:17160\"%; s%^laddr = \"tcp://0.0.0.0:26656\"%laddr = \"tcp://0.0.0.0:17156\"%; s%^prometheus_listen_addr = \":26660\"%prometheus_listen_addr = \":17166\"%" $HOME/.union/config/config.tomlsed -i -e "s%^address = \"tcp://0.0.0.0:1317\"%address = \"tcp://0.0.0.0:17117\"%; s%^address = \":8080\"%address = \":17180\"%; s%^address = \"0.0.0.0:9090\"%address = \"0.0.0.0:17190\"%; s%^address = \"0.0.0.0:9091\"%address = \"0.0.0.0:17191\"%; s%:8545%:17145%; s%:8546%:17146%; s%:6065%:17165%" $HOME/.union/config/app.toml- Buat key/Wallet (Simpan dan import mnemonic anda ke keplr)
uniond keys add wallet-
Claim faucet (konekkan wallet dan kumpulkan faucet minimal 1.2)
app.union.build
Add RPC union (UNO) -
Download latest chain snapshot
curl -L https://snapshots.coinhunterstr.com/testnet/union/snapshot_latest.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.union[[ -f $HOME/.union/data/upgrade-info.json ]] && cp $HOME/.union/data/upgrade-info.json $HOME/.union/cosmovisor/genesis/upgrade-info.json- Start service
systemctl start union-testnet- Cek logs (Jangan lanjut ke step ke 12 pastikan dulu block terbaru sama dengan yg di vps anda)
journalctl -u union-testnet.service -f --no-hostname -o cat- Run Validator
- Cek pubkey validator anda (contoh hasil {“@type”:“/cosmos.crypto.ed25519.PubKey”,“key”:“0LuMdRNJpWGiH+b+…”})
uniond comet show-validator- Edit yang di perlukan sebelum paste ke vps (pubkey, moniker dan website)
cat << EOF > ~/.union/config/validator.json{ "pubkey": {"hapus-ubah-punya-bro-@type":"/cosmos.crypto.ed25519.PubKey","key":"BCDw/cq.....zYSHfY8="}, "amount": "1000000muno", "moniker": "VALIDATOR-NAME", "website": "https://websiteanda.com", "commission-rate": "0.1", "commission-max-rate": "0.2", "commission-max-change-rate": "0.01", "min-self-delegation": "1"}EOF- Start service lagi
systemctl start union-testnet.service- Export config
export PRIV_KEY=$(jq -r '.priv_key.value' ~/.union/config/priv_validator_key.json)export POSSESSION_PROOF=$(uniond prove-possession "$PRIV_KEY")- Create validator
uniond union-staking create-union-validator /root/.union/config/validator.json $POSSESSION_PROOF \ --from wallet \ --chain-id union-testnet-9 \ --fees 0muno- Cek validator anda
explorer.testnet-9.union.build/union/staking
DONE
Referensi
Section titled “Referensi”service.coinhunterstr.com/testnet/union/testnet-9/installation