Relay Node
Contents
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.
sudo 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.
(you may be prompted to press Y when using apt-get)
sudo apt-get install nano cd /etc sudo crontab -e
File Contents:
0 6 * * 1 /sbin/shutdown -r
3. Install build tools, and build Mochimo
(you may be prompted to press Y when using apt-get)
cd sudo apt-get install git sudo apt-get install build-essential 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 /home/mochimorelay/bin.tgz cd .. rm -rf mochimo
5. Set the fstab to load the ramdisk on reboot
sudo 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 sudo nano mochimo.service
File Contents:
[Unit] Description=Mochimo Server [Service] ExecStart=/bin/bash /home/mochimorelay/start-mochimo.sh [Install] WantedBy=default.target
7. Make the service privs 644:
sudo chmod 644 mochimo.service
8. Create the startup script off of /mochimorelay
sudo nano /home/mochimorelay/start-mochimo.sh #! /bin/bash sudo cp /home/mochimorelay/bin.tgz /mnt/ramdisk cd /mnt/ramdisk sudo tar -xzvf bin.tgz cd bin cp maddr.mat maddr.dat ./gomochi d -n -D
9. Make the startup script executable:
sudo chmod +x /home/mochimorelay/start-mochimo.sh
10. Return to root user, start the service, and reboot to confirm:
su - systemctl enable mochimo.service systemctl start mochimo.service sudo reboot
11. (Optional) Log back into your VPS to validate the mochimo.service is running:
journalctl -u mochimo.service -f
Verifying Deployment
1. Verify the Service is running:
ps -aux | grep /mochimo
The output will list the mochimo service followed by a status.
../mochimo %STATUS%
Status will start as 'quorum', then transition to 'tfval', and finally to 'Listen'.
In 'listen' mode (may take 10-15 minutes) the node is running and accessible for sending, receiving and relaying transactions.
2. Verify your IP address on the Mochimap:
Find your node on MochiMap.net, this is a good sign that it's operating correctly. If you click your node on MochiMap, it will give you the apparent health status of your node.