VALIDEXIS Services
  • πŸ‘‹ About US
  • 🌐 Supported Networks
  • 🌍 Our Validators
  • πŸ” Validator Security: Our Approach and Protection Measures
    • πŸ”’Enhancing SSH Security for a Validator
    • πŸ“‘ TMKMS for Remote Signing
    • πŸ”‘ Horcrux
    • πŸ›‘οΈ Protecting Validator from DDoS Attacks
    • 🧩Multi-Factor Authentication (MFA) for a Validator
  • 🚨Monitoring
    • πŸ“Š Node-exporter + Prometheus + Grafana
    • πŸ•΅οΈ TenderDuty for Node Monitoring
  • 🧡 Setting up connection to IBC with Hermes
  • πŸ€–CelestiaUltraBot
    • πŸ† Contest
    • πŸš€ Getting started
    • πŸ–₯️ Validator monitoring
    • πŸ” Bridge Node Monitoring
    • πŸ‘› Wallet
    • πŸ›Έ AI Troubleshooting
  • 🟒 MAINNETS
    • Celestia
      • πŸ—‚οΈ API/RPC/gRPC/AddrBook
      • πŸ“Έ Snapshot
      • πŸ”— Validator Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’Ύ Full Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸŒ‰ Bridge Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’‘ Light Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
    • Zetachain
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Xion
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Nibiru
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Kyve
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Juno
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Agoric
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • CosmosHub
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Lava
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Uptick
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Paloma
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Kusama
      • πŸ—‚οΈ API/RPC
      • πŸ“Έ Snapshot
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • Polkadot
      • πŸ—‚οΈ API/RPC
      • πŸ“Έ Snapshot
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
      • πŸ”§ Installing a Polkadot Node Using Kagome
      • πŸ§ͺ Benchmarking a Server for Substrate/Polkadot
      • πŸ“˜ Monitoring Polkadot Nodes with Prometheus and Alertmanager
      • πŸ” UFW Security Template
    • Starknet
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
    • NYM
      • βš™οΈ Installation
      • πŸ› οΈ Upgrade
      • πŸ“œ Useful Commands
  • 🟑 TESTNETS
    • Celestia
      • πŸ—‚οΈ API/RPC/AddrBook
      • πŸ“Έ Snapshot
      • πŸ”— Validator Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’Ύ Full Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸŒ‰ Bridge Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
      • πŸ’‘ Light Node Installation
        • πŸ› οΈ Upgrade
        • πŸ“œ Useful Commands
Powered by GitBook
On this page
  • Automatic Installation
  • Manual Installation
  1. 🟑 TESTNETS
  2. Celestia

πŸ”— Validator Node Installation

Chain ID: mocha-4 | Latest Version Tag: v4.0.2-mocha

Recommended Hardware:

Node Type
CPU
RAM
Storage

Testnet

4

8GB

250GB

Install dependencies

# Update the repositories
sudo apt update && apt upgrade -y
# Install developer packages
sudo apt install curl git wget htop tmux build-essential jq make lz4 gcc unzip -y
# Install Go
sudo rm -rf /usr/local/go
curl -Ls https://go.dev/dl/go1.24.1.linux-amd64.tar.gz | sudo tar -xzf - -C /usr/local
eval $(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)
echo "export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin" >> $HOME/.bash_profile
source $HOME/.bash_profile
go version

Automatic Installation

source <(curl -s https://raw.githubusercontent.com/validexisinfra/Celestia/main/setup_validator_testnet.sh)

Manual Installation

# Come up with the name of your node and replace it instead <your_moniker>
MONIKER=<your_moniker>
# Download binary files
cd $HOME
rm -rf celestia-app
git clone https://github.com/celestiaorg/celestia-app.git
cd celestia-app
git checkout v4.0.2-mocha

make install
# Config and initialize the node
celestia-appd config chain-id mocha-4
celestia-appd config keyring-backend file
celestia-appd config node tcp://localhost:26657

celestia-appd init $MONIKER --chain-id mocha-4
# Download genesis and addrbook
wget -O $HOME/.celestia-app/config/genesis.json https://testnets.validexis.com/celestia/genesis.json
wget -O $HOME/.celestia-app/config/addrbook.json https://testnets.validexis.com/celestia/addrbook.json

Setup config

# Set seeds and peers
SEEDS="5d0bf034d6e6a8b5ee31a2f42f753f1107b3a00e@celestia-testnet-seed.itrocket.net:11656"
PEERS="31d3c08f6d9dfb05c0cef18604a64d30cc48ac7f@peer-celestia-testnet.validexis.com:26656,d6c13af818704c64a42f77d74ab6ab6dc4e164dd@65.108.74.218:40656,cee58e7a8724fea3022be98898d7346d12a0ef80@164.152.162.119:36656,aea85cf7e03258e9b02cdd8854f64857e9046d73@89.187.156.100:26698,5f22818fcf0d8cab31a490ae038b4f06a5632685@95.217.225.107:26656,49e0ad1852417267c60c63c2a86ea9e84c47c0ca@13.213.66.56:26656,5c2a752c9b1952dbed075c56c600c3a79b58c395@195.3.221.9:27206,f05e6a065b772dda4c7c0cbed40894a8c43416c7@170.64.159.104:26656,f9e950870eccdb40e2386896d7b6a7687a103c99@88.99.219.120:43656,8badeed7f48eefd5d43af7eb7662f2b578304a27@138.201.63.38:26686,e1b058e5cfa2b836ddaa496b10911da62dcf182e@164.152.161.199:36656,15eb02dd78fe034a9bb35ab325290004ddf67c9a@138.201.122.61:36656,a831cf42d79aded9d25efd71b1a6629311c2f644@95.217.120.205:11656,878e4d1b5300754f5797c23f03e8f95259ed9192@5.9.115.9:21656,8f282e0237ec45dd0a959bd3e2872f088133a58a@31.7.196.17:26656,3b5cfaef16c0affb426c9dd159cd3da6049159c2@217.160.102.31:26656,edafdf47c443344fb940a32ab9d2067c482e59df@84.32.71.47:26656,24f79d2f249d491daae85fdc774203c47b2fbcab@91.191.213.10:26656,66ff3e802fe41b193c9ab367637c71b1be7e2e7b@65.109.49.115:11656"
sed -i -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*seeds *=.*/seeds = \"$SEEDS\"/}" \
       -e "/^\[p2p\]/,/^\[/{s/^[[:space:]]*persistent_peers *=.*/persistent_peers = \"$PEERS\"/}" $HOME/.celestia-app/config/config.toml

# Set commit timeout
sed -i -e "s|^target_height_duration *=.*|timeout_commit = \"11s\"|" $HOME/.celestia-app/config/config.toml

# Set minimum gas price
sed -i -e "s|^minimum-gas-prices *=.*|minimum-gas-prices = \"0.002utia\"|" $HOME/.celestia-app/config/app.toml

# Config pruning
sed -i -e "s/^pruning *=.*/pruning = \"custom\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-keep-recent *=.*/pruning-keep-recent = \"100\"/" $HOME/.celestia-app/config/app.toml
sed -i -e "s/^pruning-interval *=.*/pruning-interval = \"50\"/" $HOME/.celestia-app/config/app.toml

# Set configuration for v3
sed -i -e "s|^recv_rate *=.*|recv_rate = 10485760|" -e "s|^send_rate *=.*|send_rate = 10485760|" -e "s|^ttl-num-blocks *=.*|ttl-num-blocks = 12|" $HOME/.celestia-app/config/config.toml

# Enable bbr
sudo modprobe tcp_bbr
echo "net.core.default_qdisc=fq" | sudo tee -a /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
# Create service file
sudo tee /etc/systemd/system/celestia-appd.service > /dev/null <<EOF
[Unit]
Description=Celestia node
After=network-online.target

[Service]
User=$USER
WorkingDirectory=$HOME/.celestia-app
ExecStart=$(which celestia-appd) start --home $HOME/.celestia-app
Restart=on-failure
RestartSec=5
LimitNOFILE=65535

[Install]
WantedBy=multi-user.target
EOF
# Download latest chain snapshot
curl -L https://testnets.validexis.com/celestia/snap_celestia.tar.lz4 | tar -Ilz4 -xf - -C $HOME/.celestia-app/
# Enable and start service
sudo systemctl daemon-reload
sudo systemctl enable celestia-appd
sudo systemctl start celestia-appd && sudo journalctl -u celestia-appd -f
# Check status
celestia-appd status 2>&1 | jq .SyncInfo

#"catching_up": false means that the node is synchronized, we are waiting for complete synchronization

Wallets

# Create wallet
celestia-appd keys add wallet

The wallet has been created. In the last line there will be a phrase that must be written down

# If the wallet was already there, restore it
celestia-appd add wallet --recover

# Insert the seed phrase from your wallet
# If everything is correct, you will see your wallet data

Validator

Do not forget to create a profile on https://keybase.io/ and set a profile photo there that will be imported by key and used for your validators.

celestia-appd tx staking create-validator \
--amount 1000000utia \
--pubkey $(celestia-appd tendermint show-validator) \
--moniker "YOUR_MONIKER_NAME" \
--identity "YOUR_KEYBASE_ID" \
--details "YOUR_DETAILS" \
--website "YOUR_WEBSITE_URL" \
--chain-id mocha-4 \
--commission-rate 0.05 \
--commission-max-rate 0.20 \
--commission-max-change-rate 0.05 \
--min-self-delegation 1 \
--from wallet \
--gas 200000 \
--gas-prices 0.002utia \
-y

!!! Save priv_validator_key.json which is located in /root/.celestia-app/config

PreviousπŸ“Έ SnapshotNextπŸ› οΈ Upgrade

Last updated 7 days ago