How to set up a V-Node

Chris
8 min readDec 4, 2018

--

This tutorial will guide you through the process of setting up a masternode, a.k.a “V-Node” for Vidulum in a few simple and easy steps.

A V-Node is simply a full node that keeps a full copy of the blockchain stored on it, and is always up & running. V-Nodes help the blockchain achieve more stability, accelerate network synchronization, and the more V-Nodes that get added overtime, the stronger it becomes. The Vidulum team will also add special features to the V-Nodes over time.
As compensation, a user that has deployed and maintains a V-Node, gets a portion of the block reward.

1) Setup your VPS

A Virtual Private Server, or -VPS- or often called a cloud server, runs a fully functional installation of an operating system (usually Linux) on a virtual machine, accessible over the Internet.

The virtual machine allows the VPS provider to run multiple systems on one physical server, making it more efficient and much cheaper than having a single operating system running on the “bare metal “ of each server.

A VPS is ideal for hosting a V-Node because they typically offer guaranteed up-time, redundancy in case of hardware failure, and a static public IP address, all of which is required to ensure you remain online, and in the masternode payment queue. While running a masternode from home on a desktop computer is technically possible, it will most likely not work reliably because most ISPs allocate dynamic IP addresses to home users.

We will use a Vultr ‘Instance’ for this example, although DigitalOcean, Amazon EC2, Google Cloud, Choopa and OVH are also popular choices. First create an account and add credit. Then go to the Servers menu item on the left and click + to add a new server. Select a location for your new server on the following screen:

Select a location for your new server
Select Ubuntu 16.04 x64 or 18.04 x64 as the server type.
Select a server size offering at least 1GB of memory, 1 CPU and 25 GB SSD.

Enter a hostname and label for your server.

Vultr will now install your server. This process may take a few minutes.

Click Manage when installation is complete and take note of the IP address, username, and password.

The VPS setup example is specific for Vultr and will vary slightly depending on what VPS service you may choose.

2) System setup

We will begin by connecting to your newly provisioned server. On Windows, we will first download an app called PuTTY to connect to the server.

Go to the PuTTY download page here and select the appropriate MSI installer for your system. On Mac or Linux you can ssh directly from the terminal — simply type ssh root@<server_ip> and enter your password when prompted.

Double-click the downloaded file to install PuTTY, then run the app from your Start menu.
Enter the IP address of the server into the “Host Name” field. Standard default port for SSH is 22.

Click Open.

You may see a certificate warning pop-up window since this is the first time you are connecting to this server. You can safely click ‘Yes’ to trust this server in the future.

You are now connected to your server and should see a terminal window. Begin by logging in to your server with the user root and password supplied by your hosting provider.

3) Security settings

The default security settings on Linux are pretty decent, and better than that of most of its competitors, but it still has weaknesses.

A little time and effort spent when first setting up your VPS can go a long way to protecting it, and will ensure that you don´t have to worry about your V-Node being secure.

3a.) Change password

You should immediately change the root password and store it in a safe place with the following command, logged in as root:

passwd 

You can copy and paste any of the following commands by selecting them in your browser, pressing Ctrl + C, then switching to the PuTTY window and right-clicking in the window. The text will paste at the current cursor location. (Note: the Ctrl + V keys to ‘paste’ as used in Windows, will not work in Linux). Enter and confirm a new password, preferably long and randomly generated.

3b.) Change SSH port

The default port assigned to SSH is 22 and your VPS will sit and listen on this port for incoming connections.

Unfortunately, malicious users (‘hackers’, ‘script kiddies’, etc.) know this and there does exist a certain degree of ‘background noise’ of automated attack malware on the Internet that will scan random IP addresses to see if port 22 is open, and if it is, attempt a barrage of automated SSH logins using common, weak, guessable passwords.

To change the port SSH is running on, SSH into your VPS as the ‘root’ user. Type:

nano /etc/ssh/sshd_config

You should see the configuration file opened inside nano:

About the fifth line down it should read Port 22

We are going to change this to something else. Any port will do the trick, as long as it is not a “well known” port. You can check this list for guidance.

For this example, lets choose 3256. Move with the arrow keys to the specific location, delete 22 and replace it with 3256, so that the line now reads as:

Port 3256

Then, hit Crtl-o to save the file, then press Enter, and lastly Crtl-x to exit the nano editor.

You will have to restart the server for the change to take affect, but we will do it later after we finished the configuring security settings.

3c.) Enable firewall

Its purpose is to control what traffic is allowed to traverse from one side to the other. Firewalls can block traffic intended for particular IP addresses and/or server ports.
Type in the following commands one at a time.

apt-get install ufw
ufw allow ssh/tcp
ufw limit ssh/tcp
ufw allow 7676 (port of the P2P network of Vidulum)
ufw allow 3256 (port which we are connecting to via SSH)
ufw logging on
ufw enable
ufw status
ufw status

Now, restart the SSH server connection to make the changes take affect.

service ssh restart

Don’t log out of the current SSH session, just open a new putty session. If we have a typo or some other error, you can undo the changes and won’t be blocked out of your server.

You will have to change the port to 3256 in PuTTY, as port 22 is now blocked.

If PuTTY can connect to the new port and you can login with your new password and, we did everything right!

4) Core Wallet

This guide will describe the steps for Windows:

Download the latest Windows GUI wallet here.
Open the GUI wallet and wait for it to synchronize with the network. More peers will get added automatically over time.

Next, click on the Masternode tab > Get MN priv key, to generate a masternode key.

You can either use the given public address for the collateral to be found in the Receive coins tab or generate a new one with the Get new address button.

Take note of the masternode private key and collateral address, since we will need it later. Now send exactly 15,000 VDL in a single transaction to the address you generated in the previous step. This may be sent from another wallet or from funds already held in your current wallet.

Once the transaction is complete, view the transaction in the blockchain explorer by searching for the address.

Click Masternode tab > Get Outputs, to get the collateral_output_txid and collateral_output_index. Write it down, as you need it in the following step

Click Masternode tab > Configure Masternode

Alias name: e.g. MN1
VPS IP: IP address of VPS
Priv key: Masternode private key from the first step
Outputs: Masternode outputs from the step above

Click on Configure and restart the wallet.

The next step is optional but highly recommended:

To secure your wallet (if you have not already done so):

Back up your private key associated to the collateral address of your V-Node, by selecting Settings > Show private key .

Back up your wallet file by selecting Settings > Backup.

Save the file and the private key to a secure location physically offline and not on your computer, since those will be the only ways you can access your funds if anything happens to your computer.

5) V-Node VPS setup

Vidulum Core is the software behind both the Vidulum Core GUI wallet and V-Nodes. If not displaying a GUI, it runs as a daemon on your VPS controlled by a simple command interface

Open PuTTY or the console again and connect to VPS via SSH using the username and new password you created earlier.
To install, follow these steps.

5a.) Installation:

wget https://raw.githubusercontent.com/vidulum/vidulum-scripts/master/vnode-install.sh./vnode-install.sh

As this is an automated script, just follow along and answer the questions as prompted in the console.

At the end of the installation, the daemon will start and begin syncing to the blockchain automatically. To check the synchronization progress type;

./vidulum-cli getinfo

After the synchronization progress is finished (when “blocks” value is equal to the most current block- it it done syncing- you can check the explorer to find out), we have to go back to the local GUI wallet > Masternode tab > select MN1 > Start MN.

To see if the masternode successfully started, type;

./vidulum-cli listmasternodes

into the VPS console.

Congratulations -you now have an operational V-Node!

Please visit the Vidulum Discord if you need further help with setting up a V-node, encounter problems with the current guide, or just want to talk about crypto stuff with us!

If you found this guide helpful, please give us a 👏 or drop us a comment below.

V-App: https://vidulum.app/

Telegram: https://t.me/Vidulum

Reddit: https://www.reddit.com/r/VidulumApp/

Twitter: https://twitter.com/VidulumApp

GitHub: https://github.com/vidulum

--

--