Maya Protocol One-Stop-Shop
Ask or search…
⌃K

Fullnode Installation Guide

Chain ID: mayachain-mainnet-v1 | Current Node Version: v1.108.0

Install Go and other requirements

Install Go
We will use Go v1.20.0 as an example here. The code below also cleanly removes any previous Go installation.
sudo rm -rvf /usr/local/go/
wget https://golang.org/dl/go1.20.12.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.20.12.linux-amd64.tar.gz
rm go1.20.0.linux-amd64.tar.gz
Configure Go
Unless you want to configure in a non-standard way, then set these in the ~/.bash_profile for bash and ~/.zshrc for zsh.
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
Install protobuf-compiler
apt-get update
apt-get install -y git make protobuf-compiler
Install docker and docker compose plugin
https://docs.docker.com/engine/install/

Install Node

Install the current version of node binary.
*You can see tags in mayanode's repo tags​
git clone https://gitlab.com/mayachain/mayanode
cd mayanode
git checkout <latest version tag>
make openapi protob

Install binary

TAG=mainnet NET=mainnet make install

Run Node

MAYA_COSMOS_TELEMETRY_ENABLED=true CHAIN_ID=mayachain-mainnet-v1 NET=mainnet SEEDS=15.156.45.237,18.217.85.10 bash ./build/scripts/fullnode.sh
Create Service File
Create a mayanode.service file in the /etc/systemd/system folder with the following code snippet. Make sure to replace USER with your Linux username. You need sudo privilege to do this step.
[Unit]
Description="Mayanode"
After=network-online.target
​
[Service]
User=USER
ExecStartPre=/home/USER/.go/bin/mayanode render-config
ExecStart=/home/USER/.go/bin/mayanode start
Restart=always
RestartSec=3
LimitNOFILE=4096
Environment="MAYA_COSMOS_TELEMETRY_ENABLED=true"
Environment="CHAIN_ID=mayachain-mainnet-v1"
Environment="NET=mainnet"
Environment="SIGNER_NAME=mayachain"
Environment="SIGNER_PASSWD=password"
​
[Install]
WantedBy=multi-user.target
Download Snapshot
Please use a snapshot in order to avoid syncing from start. You will need to install aws-cli​
mkdir -p ~/.mayanode/data
aws s3 cp --recursive s3://public-snapshots-mayanode/full/<snapshot height> ~/.mayanode/data
Start Node Service
# Enable service
sudo systemctl enable mayanode.service
​
# Start service
sudo systemctl start mayanode
​
# Check logs
sudo journalctl -feu mayanode

Other Considerations

This installation guide is the bare minimum to get a node started. You should consider the following as you become a more experienced node operator.
  • Configure firewall to close most ports while only leaving the p2p port (typically 27146) open
  • Use custom ports for each node so you can run multiple nodes on the same server
If you find a bug in this installation guide, please reach out to our Discord Server and let us know.