Difference between revisions of "Relay Node"
m (sudo added) |
m |
||
Line 16: | Line 16: | ||
2 GB RAM | 2 GB RAM | ||
10 GB Hard Disk | 10 GB Hard Disk | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Deployment Steps == | == Deployment Steps == | ||
Line 47: | Line 21: | ||
1. Create ramdisk directory. | 1. Create ramdisk directory. | ||
− | + | mkdir /mnt/ramdisk | |
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. | ||
− | + | apt-get install nano | |
cd /etc | cd /etc | ||
− | + | crontab -e | |
− | |||
− | |||
− | |||
− | + | ##File Contents: | |
+ | |||
+ | 0 6 * * 1 /sbin/shutdown -r | ||
3. Install build tools, and build Mochimo | 3. Install build tools, and build Mochimo | ||
− | + | apt-get install git | |
− | + | apt-get install build-essential | |
− | cd / | + | cd /root |
git clone https://github.com/mochimodev/mochimo | git clone https://github.com/mochimodev/mochimo | ||
cd mochimo/src | cd mochimo/src | ||
./makeunx bin -DCPU | ./makeunx bin -DCPU | ||
− | ./makeunx install | + | ./makeunx install |
− | 4. Tar the binary directory, and copy to / | + | 4. Tar the binary directory, and copy to /root |
− | + | cd .. | |
tar -czvf bin.tgz bin | tar -czvf bin.tgz bin | ||
− | cp bin.tgz / | + | cp bin.tgz /root/bin.tgz |
cd .. | cd .. | ||
− | rm -rf mochimo | + | rm -rf mochimo |
5. Set the fstab to load the ramdisk on reboot | 5. Set the fstab to load the ramdisk on reboot | ||
− | + | nano /etc/fstab | |
− | File Contents (append to bottom of file): | + | ##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. | 6. Create the systemd system service to start Mochimo on boot. | ||
− | + | cd /etc/systemd/system | |
− | + | nano mochimo.service | |
− | File Contents: | + | ##File Contents: |
− | + | [Unit] | |
Description=Mochimo Server | Description=Mochimo Server | ||
[Service] | [Service] | ||
− | ExecStart=/ | + | ExecStart=/root/start-mochimo.sh |
[Install] | [Install] | ||
− | WantedBy=default.target | + | WantedBy=default.target |
7. Make the service privs 644: | 7. Make the service privs 644: | ||
− | + | chmod 644 mochimo.service | |
− | 8. Create the startup script off of / | + | 8. Create the startup script off of /root |
− | + | nano /root/start-mochimo.sh | |
#! /bin/bash | #! /bin/bash | ||
− | cp / | + | cp /root/bin.tgz /mnt/ramdisk |
cd /mnt/ramdisk | cd /mnt/ramdisk | ||
tar -xzvf bin.tgz | tar -xzvf bin.tgz | ||
cd bin | cd bin | ||
cp maddr.mat maddr.dat | cp maddr.mat maddr.dat | ||
− | ./gomochi d -n -D | + | ./gomochi d -n -D |
9. Make the startup script executable: | 9. Make the startup script executable: | ||
− | + | chmod +x /root/start-mochimo.sh | |
10. Start the service, and reboot to confirm: | 10. Start the service, and reboot to confirm: | ||
− | + | sudo systemctl enable mochimo.service | |
sudo systemctl start mochimo.service | sudo systemctl start mochimo.service | ||
− | sudo reboot | + | sudo reboot |
Revision as of 14:24, 8 February 2021
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
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
- 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 /root git clone https://github.com/mochimodev/mochimo cd mochimo/src ./makeunx bin -DCPU ./makeunx install
4. Tar the binary directory, and copy to /root
cd .. tar -czvf bin.tgz bin cp bin.tgz /root/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=/root/start-mochimo.sh
[Install] WantedBy=default.target
7. Make the service privs 644:
chmod 644 mochimo.service
8. Create the startup script off of /root
nano /root/start-mochimo.sh
- ! /bin/bash
cp /root/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 /root/start-mochimo.sh
10. Start the service, and reboot to confirm:
sudo systemctl enable mochimo.service sudo systemctl start mochimo.service sudo reboot