Node Setup
Configuring Mantrachain with Systemd
---
description: >- systemd is a system and service manager for Linux operating systems that serves as the init system for initialising user space and managing system processes.
Configuring Mantrachain with Systemd
The best way to run mantrachaind as a daemon service is by also leveraging Cosmovisor. Cosmovisor is a tool designed for managing and upgrading Cosmos SDK-based blockchain nodes. It simplifies the process of running a validator or full node by handling automatic upgrades and minimizing downtime
Pre-Requisites
Go Requirement
You will need to be running, at minimum, go 1.20 to run Cosmovisor.
wget -q -O - https://git.io/vQhTU | bash -s -- --remove
wget -q -O - https://git.io/vQhTU | bash -s -- --version 1.20Set Up Cosmovisor
Set up cosmovisor to ensure any future upgrades happen flawlessly. To install Cosmovisor:
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest(You may also refer to the Cosmovisor installation instructions.)
Create the required directories:
mkdir -p ~/.mantrachaind/cosmovisor
mkdir -p ~/.mantrachaind/cosmovisor/genesis
mkdir -p ~/.mantrachaind/cosmovisor/genesis/bin
mkdir -p ~/.mantrachaind/cosmovisor/upgradesConfigure mantrachaind as a Service
The systemd service manager allows the mantrachaind binary to run as a service, instead of as a command-line application. (See https://systemd.io for more information.)
sudo tee /etc/systemd/system/mantrachaind.service > /dev/null << EOF
[Unit]
Description=Mantrachaind Service
After=network-online.target
[Service]
User=$USER
ExecStart=$(which cosmovisor) run start
Restart=on-failure
RestartSec=3
LimitNOFILE=10000
Environment="DAEMON_NAME=mantrachaind"
Environment="DAEMON_HOME=$HOME/.mantrachain"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="UNSAFE_SKIP_BACKUP=true"
[Install]
WantedBy=multi-user.target
EOFStarting, Stopping and Restarting mantrachaind
# Reload daemon inventory, Enable the new Service and Start
sudo systemctl daemon-reload
sudo systemctl enable mantrachaind
sudo systemctl start mantrachaind
# Stop Service
sudo systemctl stop mantrachaind
# Restart
sudo systemctl restart mantrachaind
# Logging
sudo journalctl -xefu mantrachaind
# Logging - filtered on block height lines
sudo journalctl -xefu mantrachaind -g ".*txindex"Once started, the node will take some time to sync with the blockchain.
Visit https://explorer.mantrachain.io to see the current height of the blockchain. You can use the journalctl command to check on the node's progress.