Update system and install build tools
Ensure your system is up to date and has all the necessary tools for the installation:
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl tar wget clang pkg-config libssl-dev jq build-essential \
bsdmainutils git make ncdu gcc chrony liblz4-tool
Install Go (if needed)
cd "$HOME"
if ! command -v go >/dev/null 2>&1; then
VER="1.24.1"
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"
fi
[ -d "$HOME/go/bin" ] || mkdir -p "$HOME/go/bin"
if ! grep -q "/usr/local/go/bin" "$HOME/.bash_profile" 2>/dev/null; then
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> "$HOME/.bash_profile"
fi
source "$HOME/.bash_profile" 2>/dev/null || true
go version
Install node
cd "$HOME"
REPO_DIR=$(basename https://github.com/burnt-labs/xion .git)
rm -rf "$REPO_DIR"
git clone https://github.com/burnt-labs/xion
cd "$REPO_DIR"
VERSION="v30.0.0"
git checkout "tags/$VERSION"
make build
make install
xiond version
Initialize Node
Replace <node_name> with your moniker.
xiond init <node_name> --chain-id "xion-mainnet-1"
Download genesis.json
curl -Ls https://raw.githubusercontent.com/burnt-labs/burnt-networks/refs/heads/main/mainnet/xion-mainnet-1/genesis.json > "$HOME/.xiond/config/genesis.json"
Download addrbook.json
curl -Ls https://snapshots-verona.posthuman.digital/addrbook.json > "$HOME/.xiond/config/addrbook.json"
Create systemd service
NODE_USER=$(whoami)
sudo tee /etc/systemd/system/xiond.service > /dev/null <<EOF
[Unit]
Description=xiond daemon
After=network-online.target
[Service]
User=${NODE_USER}
ExecStart=$(which xiond) start
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
sudo systemctl daemon-reload
sudo systemctl enable xiond.service
sudo systemctl start xiond.service
Sync the node
Synchronize the node using a network-approved method. When a snapshot guide is
available on this page, follow its preflight, backup, restore, and verification
steps.
Start service
sudo systemctl enable xiond.service && sudo systemctl start xiond.service && journalctl -u xiond.service -f