How to run Mantrachain with Systemd
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.
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.20
Set 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/upgrades
Configure mantrachaind
as a Service
mantrachaind
as a ServiceThe 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
EOF
Starting, Stopping and Restarting mantrachaind
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.
Last updated