Fullnode Installation Guide
Chain ID: mayachain-mainnet-v1 | Current Node Version: v1.124.1
Install Go and other requirements
Install Go
We will use Go v1.23.4 which is the required version for the latest MAYANode. The code below installs Go in your home directory to avoid requiring sudo privileges.
# Remove any existing Go installation
rm -rf ~/.go
# Download and extract Go
wget https://golang.org/dl/go1.23.4.linux-amd64.tar.gz
tar -C ~/ -xzf go1.23.4.linux-amd64.tar.gz
mv ~/go ~/.go
rm go1.23.4.linux-amd64.tar.gzConfigure 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=$HOME/.go
export GOPATH=$HOME/go
export GO111MODULE=on
export PATH=$PATH:$HOME/.go/bin:$HOME/go/binAfter adding these lines, reload your shell configuration:
# For bash
source ~/.bash_profile
# For zsh
source ~/.zshrcInstall dependencies 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
Install binary
Install library dependencies
MAYANode requires the libzec.so and libradix_engine_toolkit_uniffi.so libraries. Copy them to the system library path:
Initialize Node
First, initialize the node and download the genesis file:
Configure Ports (if running alongside other nodes)
If you're running MAYANode alongside other blockchain nodes (like THORChain), you'll need to change the default ports to avoid conflicts:
Add Seed Nodes
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.
Download Snapshot
Please use a snapshot in order to avoid syncing from start. You can choose between full snapshots or pruned snapshots (recommended for fullnodes to save disk space).
Using aria2c (recommended for faster downloads):
Using AWS CLI:
Note: Check the snapshot page for the latest available snapshot height.
Start Node Service
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.
Firewall Configuration: Configure firewall to close most ports while only leaving the p2p port (28146 if using custom ports, or 27146 for default) open for incoming connections
Multiple Nodes: When running multiple blockchain nodes on the same server, ensure each uses different ports as shown in the port configuration section
Disk Space: Pruned snapshots use significantly less disk space (~15GB vs ~50GB for full snapshots) and are recommended for fullnodes
Monitoring: Set up monitoring for the node using the Prometheus metrics endpoint (port 28660 if using custom ports)
Seed Nodes: The seed nodes may change over time. Check with the MAYAChain community for current active seed nodes if connection issues persist
Troubleshooting
Port Conflicts: If you see "bind: address already in use" errors, check if another service is using the port:
Library Errors: If you see "error while loading shared libraries: libzec.so" or "libradix_engine_toolkit_uniffi.so", ensure the libraries are properly installed:
No Peers: If the node shows 0 peers after starting, check:
Firewall rules allow outbound connections
Seed nodes are correctly configured in config.toml
P2P port is accessible
If you find a bug in this installation guide, please reach out to our Discord Server and let us know.
Last updated
Was this helpful?