Difference between revisions of "Relay Node"

From Mochimo Wiki
Jump to: navigation, search
m
m (sudo added)
Line 47: Line 47:
 
1. Create ramdisk directory.
 
1. Create ramdisk directory.
  
<pre>mkdir /mnt/ramdisk</pre>
+
<pre>sudo mkdir /mnt/ramdisk</pre>
  
 
2. Setup crontab to reboot daily.  Below script selects nano with "1" and sets
 
2. Setup crontab to reboot daily.  Below script selects nano with "1" and sets
 
the system to reboot weekly at 6 am.
 
the system to reboot weekly at 6 am.
  
<pre>apt-get install nano
+
<pre>sudo apt-get install nano
  
 
cd /etc
 
cd /etc
crontab -e
+
sudo crontab -e
 
1
 
1
 
</pre>
 
</pre>
Line 64: Line 64:
 
3. Install build tools, and build Mochimo
 
3. Install build tools, and build Mochimo
  
<pre>apt-get install git
+
<pre>sudo apt-get install git
apt-get install build-essential
+
sudo apt-get install build-essential
 
cd /mochimorelay
 
cd /mochimorelay
 
git clone https://github.com/mochimodev/mochimo
 
git clone https://github.com/mochimodev/mochimo
Line 82: Line 82:
 
5. Set the fstab to load the ramdisk on reboot
 
5. Set the fstab to load the ramdisk on reboot
  
<pre>nano /etc/fstab</pre>
+
<pre>sudo nano /etc/fstab</pre>
  
 
File Contents (append to bottom of file):
 
File Contents (append to bottom of file):
Line 91: Line 91:
  
 
<pre>cd /etc/systemd/system
 
<pre>cd /etc/systemd/system
nano mochimo.service</pre>
+
sudo nano mochimo.service</pre>
  
 
File Contents:
 
File Contents:
Line 106: Line 106:
 
7. Make the service privs 644:
 
7. Make the service privs 644:
  
<pre>chmod 644 mochimo.service</pre>
+
<pre>sudo chmod 644 mochimo.service</pre>
  
 
8. Create the startup script off of /mochimorelay
 
8. Create the startup script off of /mochimorelay
  
<pre>nano /mochimorelay/start-mochimo.sh
+
<pre>sudo nano /mochimorelay/start-mochimo.sh
  
 
#! /bin/bash
 
#! /bin/bash
Line 122: Line 122:
 
9.  Make the startup script executable:
 
9.  Make the startup script executable:
  
<pre>chmod +x /mochimorelay/start-mochimo.sh</pre>
+
<pre>sudo chmod +x /mochimorelay/start-mochimo.sh</pre>
  
 
10. Start the service, and reboot to confirm:
 
10. Start the service, and reboot to confirm:

Revision as of 14:23, 8 February 2021

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.

sudo apt-get install nano

cd /etc
sudo crontab -e
1

File Contents:

0 6 * * 1 /sbin/shutdown -r

3. Install build tools, and build Mochimo

sudo apt-get install git
sudo 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

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=/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 /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:

sudo 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