Running a Node on Testnet
Running a node on Mchain's testnet is a fundamental step for developers and those aspiring to become validators. You can join the network using two primary methods: through the Mchain Installer or manually setting up the Mchain CLI.
Option 1: Using Mchain Installer
The Mchain Installer is a convenient tool for quickly joining the network. To use it, run:
curl -sL https://get.mchain.network/install > i.py && python3 i.py --binary_path=/usr/local/bin
This script downloads and configures the necessary components to join the Mchain network.
Option 2: Manual Setup with Mchain CLI
You can manually install and configure the Mchain CLI for a more hands-on approach. This method is recommended for users who prefer greater control over their node setup.
Step 1: Install Mchain Binary from GitHub Release
Download the latest Mchain binary from the GitHub Releases page. Ensure you select the correct version for your operating system.
Once downloaded, you can install the binary to a directory of your choice, commonly /usr/local/bin
for ease of use. For instance, if you downloaded mchaind
, you can install it using:
sudo mv mchaind /usr/local/bin/
Step 2: Initialize Mchain Node
After installing the binary, initialize your node with:
mchaind init NODE_NAME --chain-id=mchain-testnet-1
Replace NODE_NAME
with a name of your choice.
Step 3: Configure the Node
Edit the config.toml
file in the .mchain/config
directory to set up seeds and persistent peers:
cd $HOME/.mchain/config
nano config.toml
Add seeds and persistent peers as follows:
seeds = "422a7573d2e727a51cdca65dc0bd909e62f0b05f@64.227.74.95:26656"
persistent_peers = "422a7573d2e727a51cdca65dc0bd909e62f0b05f@64.227.74.95:26656"
Save and exit the editor (Ctrl+O
, Enter
, Ctrl+X
).
Step 4: Set Up Cosmovisor for Seamless Upgrades
Install and configure Cosmovisor to automate node upgrades:
go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@v1.0.0
mkdir -p ~/.mchain/cosmovisor/{genesis,upgrades}
mkdir -p ~/.mchain/cosmovisor/genesis/bin
echo "# Setup Cosmovisor" >> ~/.profile
echo "export DAEMON_NAME=mchaind" >> ~/.profile
echo "export DAEMON_HOME=$HOME/.mchain" >> ~/.profile
source ~/.profile
Copy the mchaind
binary to the Cosmovisor genesis folder:
cp $GOPATH/bin/mchaind ~/.mchain/cosmovisor/genesis/bin
Verify the versions:
cosmovisor version
mchaind version
Reset the node:
mchaind unsafe-reset-all
Step 5: Sync the Chain
Download and install the necessary tools:
sudo apt-get install wget liblz4-tool aria2 -y
Download and extract the chain data:
URL=https://mchain.fra1.cdn.digitaloceanspaces.com/mchain-testnet-1/mchain-testnet-1.tar.lz4
cd $HOME/.mchain/data/
wget -O - $URL | lz4 -d | tar -xvf -
Step 6: Run the Mchain Service
Create and start a service to run Cosmovisor:
echo "[Unit]
Description=Cosmovisor daemon
After=network-online.target
[Service]
Environment variables...
User=$USER
ExecStart=${HOME}/go/bin/cosmovisor run start
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
" >cosmovisor.service
sudo mv cosmovisor.service /etc/systemd/system/cosmovisor.service
sudo systemctl daemon-reload
systemctl restart systemd-journald
sudo systemctl start cosmovisor
Check the service status:
sudo systemctl status cosmovisor
For live logs:
journalctl -u cosmovisor -f