Relay Node

From Mochimo Wiki
Revision as of 14:20, 8 February 2021 by Stoner19 (talk | contribs)
Jump to: navigation, search

How to Deploy a Mochimo VPS Relay Node

Summary

The below steps will allow you to set up a VPS node that self-reboots weekly, installs the Mochimo server in a ramdisk (for high performance) creates a local mochimo service, and automatically restarts the Mochimo server as a non solving node upon reboot.

Audience

People who want to support the network by operating a node to relay transactions / blocks.

Minimum System Requirements

Ubuntu 16.04 LTS 1 vCPU 2 GB RAM 10 GB Hard Disk

Create a new user for Mochimo

1 Log into root user on your VPS.

2. Create a new user specific for this Mochimo relay node.

adduser mochimorelay

3. Enter a strong password. (you can return through the prompts asking for user details, they can all be blank)

4. Give your new user Sudo permissions.

usermod -aG sudo mochimorelay

5. Switch to your new user.

su - mochimorelay

If you've sucessfully created a new user with Sudo permissions your terminal should say something like:

To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

You are now ready to start your node deployment.

Deployment Steps

1. Create ramdisk directory.

mkdir /mnt/ramdisk

2. Setup crontab to reboot daily. Below script selects nano with "1" and sets the system to reboot weekly at 6 am.

apt-get install nano

cd /etc
crontab -e
1

File Contents:

0 6 * * 1 /sbin/shutdown -r

3. Install build tools, and build Mochimo

apt-get install git
apt-get install build-essential
cd /mochimorelay
git clone https://github.com/mochimodev/mochimo
cd mochimo/src
./makeunx bin -DCPU
./makeunx install

4. Tar the binary directory, and copy to /mochimorelay

cd ..
tar -czvf bin.tgz bin
cp bin.tgz /mochimo/bin.tgz
cd ..
rm -rf mochimo

5. Set the fstab to load the ramdisk on reboot

nano /etc/fstab

File Contents (append to bottom of file):

tmpfs       /mnt/ramdisk tmpfs   nodev,nosuid,nodiratime,size=1024M

6. Create the systemd system service to start Mochimo on boot.

cd /etc/systemd/system
nano mochimo.service

File Contents:

[Unit]
Description=Mochimo Server

[Service]
ExecStart=/mochimorelay/start-mochimo.sh

[Install]
WantedBy=default.target

7. Make the service privs 644:

chmod 644 mochimo.service

8. Create the startup script off of /mochimorelay

nano /mochimorelay/start-mochimo.sh

#! /bin/bash
cp /mochimorelay/bin.tgz /mnt/ramdisk
cd /mnt/ramdisk
tar -xzvf bin.tgz
cd bin
cp maddr.mat maddr.dat
./gomochi d -n -D

9. Make the startup script executable:

chmod +x /mochimorelay/start-mochimo.sh

10. Start the service, and reboot to confirm:

sudo systemctl enable mochimo.service
sudo systemctl start mochimo.service
sudo reboot