> ## Documentation Index
> Fetch the complete documentation index at: https://mantrachain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> 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

# Configuring Mantrachain with Systemd

The best way to run `mantrachaind` as a daemon service is by also leveraging Cosmovisor. [Cosmovisor](https://docs.cosmos.network/main/build/tooling/cosmovisor#installation) 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 [#go-requirement](#go-requirement)

You will need to be running, at minimum, go `1.20` to run Cosmovisor.&#x20;

```bash theme={null}
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](https://github.com/cosmos/cosmos-sdk/tree/main/tools/cosmovisor#installation).)

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

The `systemd` service manager allows the `mantrachaind` binary to run as a service, instead of as a command-line application. (See [https://systemd.io](https://systemd.io) for more information.)

```bash theme={null}
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`

```bash theme={null}
# 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](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.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.