Dash Evolution Master Node | Setup Guide

Dash Evolution Master Node |  Setup Guide

Dash Evolution Master Node | Setup Guide

Introduction

Dash – This cryptocurrencybased on the protocol Bitcoinbut with a number improvements and functions such as private transactions And decentralized governance. Dash was designed to provide fast And low cost payments worldwide.

I am new to the world of Bitcoin-like blockchains, and setting up Dash Evolution Master Node (EvoNode) for the Dash blockchain may seem like a daunting task. However, following this guide will walk you through setting up Evonode step by step, ensuring it works properly, and taking advantage of all the benefits Dash has to offer.

I have done extensive research into installing, configuring, and running the Evolution Master Node for Dash. EvoNode is a component of the Dash network that allows you to manage improvements and features like InstantSend and PrivateSend, as well as participate in decentralized governance.

Setting up EvoNode involves several steps, such as preparing the server environment, installing the necessary software, and setting up configuration files. In this article, I will explain each step of this process in detail to help you successfully set up and run EvoNode for Dash.

I've outlined a few basic steps you can follow to get your Evolution Master Node for Dash up and running:

  1. Installing and configuring a wallet
    In my case, I'm using Dash Core Wallet as an example. This step involves downloading, installing, and synchronizing the wallet with the Dash blockchain.

  2. Preparing and configuring the server
    It is necessary to prepare the server environment, including choosing an operating system, configuring security, and installing the necessary libraries and dependencies.

  3. Installing Dashmate
    Dashmate is a tool that simplifies the process of installing and managing EvoNode. We will go through the steps to install and configure it.

  4. Setting up and running the Evolution Master Node
    In this step, we will set up the configuration files, start the EvoNode and ensure that it is functioning properly, providing all the capabilities of the Dash network.


Note:
On average, it takes 90 minutes to complete all the actions described in the article at a leisurely pace.


Installing and configuring a wallet

Dash Core Wallet setup

Dash Core Wallet setup

To register EvoNode you must have on your account 4000+ DASH. 4000 deposit for EvoNode, and some DASH for Payout address. In my case, I used 4005 tDASH, which is a test currency in Dash network.

In my example I used a wallet Dash Core Walletdue to the lack of a hardware wallet, although for maximum security a hardware wallet is recommended.

Let's first install Dash Core Wallet locally on your computer.

I have Ubuntu 24.04 installed, for other systems you can see dash documentation.

Let's move on website and download the required archive (or installation file).

Dash Core Wallet setup

Dash Core Wallet setup

The documentation recommends verifying the downloaded fileto ensure its security, as all Dash releases after 0.16.0 are signed with GPG. I skipped this step because I'm running a test EvoNode, but I highly recommend verifying the file if you're running on the mainnet.

In the terminal, go to the directory with the downloaded file, then unpack it, and install the binary files in the /usr/local/bin directory:

cd Downloads/

tar -xzf dashcore-20.1.1-x86_64-linux-gnu.tar.gz

sudo install -m 0755 -o root -g root -t /usr/local/bin dashcore-20.1.1/bin/*

Let's launch the wallet to continue setting it up:

dash-qt&

Let's enable “coin control” and display masternodes in the settings, we will need these settings later. Don't forget to restart the wallet after making the settings.

Dash Core Wallet options

Dash Core Wallet options

Let's do a little more preparation for the future. Open the Receive tab and create three wallets, not forgetting to specify the Label (Collateral, Owner, Voter, PayOut):

Dash Core Wallet Reseive

Dash Core Wallet Reseive

As a result, you will receive four addresses, they will be useful later.

The next step involves replenishing your wallet, so I would advise you to take some security measures.

First of all, you MUST encrypt (Settings -> Encrypt Wallet) your wallet with a new password and keep it safe.
The second thing you need to do is backup your wallet (File -> Backup Wallet).
Be sure to delete all unencrypted backups once you are sure the wallet is working!

ALL YOUR ACTIONS TO KEEP YOUR PASSWORD AND WALLET BACKUP SAFE ARE ENTIRELY YOUR RESPONSIBILITY.

We have reached the point where you need to top up your wallet. Make a deposit of 4000+ DASH (in my case 4005 tDASH).

We have enabled coin control features before, so now we will make two transactions to the addresses we received before. I am writing based on my own example.

1 transaction: 4.9 tDASH to the last received address. The “Subtract fee from amount” box is checked.
2 transaction: 4000 tDASH to the first received address. Do NOT check the box “Subtract fee from amount”. Also specify the address from which you are transferring, so as not to use the address from the first transaction. This is the address with the collateral for EvoNode.

For the future, let's save the transaction data with the collateral. To do this, execute the following command in the wallet console (Window -> Console)

masternode outputs

To which you will receive a response similar to this:

[
  "83466394b185a7ba448106b882553ff4869303ad4480b09c2fdabb38fadd798f-1"
]

Save the result.

Now we have set up the wallet and prepared everything for the next steps.

Preparing and configuring the server

VPS setup

VPS setup

Setting up a VPS for EvoNodean important step for ensuring safe and stable operation of the unit. We will take a detailed look at the VPS registration and setup process.

VPS Registration

Choosing a provider

The first step is to choose a reliable provider that will ensure stable operation of your server. Recommended providers: DigitalOcean, Vultr, Linode.

Create an account

Register on the website of the chosen provider and create an account. After registration, you will be able to create your virtual server (VPS).

Creating a VPS

To work with Dash EvoNode, it is recommended to select a tariff plan:

  • CPU: 4 vcpu

  • RAM: 16GB

  • HDD/SSD: 200GB

Select your operating system (in my case, Ubuntu 20.04).

Setting up a VPS

Connecting via SSH

SSH is used to manage the server remotely. Use an SSH client (such as PuTTY for Windows or the built-in Linux/Mac terminal) to connect to the server using the credentials provided by your ISP.

System update

To ensure system security and stability, please update:

sudo apt update && sudo apt upgrade -y

Create a user

Create a new user to increase security by avoiding running as root:

sudo adduser dashuser

sudo usermod -aG sudo dashuser

Create SSH key and import to VPS

On your local machine, create an SSH key and import it to your VPS.

For UNIX

  1. Create a key:

    ssh-keygen -t ed25519 -C "@dashuser"

  2. Copy the key to the server:

    ssh-copy-id dashuser@ваш_сервер_ip

For Windows

Download and install PuTTY and PuTTYgen.

  1. Generate a key using PuTTYgen:

    Open PuTTYgen.
    Select key type “Ed25519”.
    Click “Generate” and follow the instructions.
    Save the public and private keys.

  2. Import the key to the server using PuTTY:

    Open PuTTY.
    In the “Connection” -> “SSH” -> “Auth” section, select your key file.
    Connect to the server and run the commands to add the key to ~/.ssh/authorized_keys:

    mkdir -p ~/.ssh

    chmod 700 ~/.ssh

    echo "ваш_публичный_ключ" >> ~/.ssh/authorized_keys

    chmod 600 ~/.ssh/authorized_keys

Check if the connection by key works. (It should not ask for a password when connecting)

Setting up SSH

For added security, disable password login and root access. Open the SSH configuration file:

sudo vi /etc/ssh/sshd_config

Change the following settings:

PermitRootLogin no
PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

Attention:
After completing the next step, you will lose the ability to log in to the vps using a password! Make sure that the connection by key works!

Save the changes and restart SSH:

sudo systemctl reload ssh

Setting up a firewall (UFW)

To ensure security, you need to configure a firewall and install additional packages:

sudo apt install ufw python3 virtualenv git unzip pv -y

Firewall configuration

Select the appropriate firewall configuration depending on the network your evolution masternode will support and enter these commands on the server console:

Configuration for Mainnet:

sudo ufw allow ssh/tcp

sudo ufw limit ssh/tcp

sudo ufw allow 443/tcp

sudo ufw allow 9999/tcp

sudo ufw allow 26656/tcp

sudo ufw logging on

sudo ufw enable

Configuration for Testnet:

sudo ufw allow ssh/tcp

sudo ufw limit ssh/tcp

sudo ufw allow 19999/tcp

sudo ufw allow 26656/tcp

sudo ufw allow 3000/tcp

sudo ufw logging on

sudo ufw enable

Enable swapping

For EvoNode to work, it is recommended to enable swap in Linux. Next, we will add memory swapping and enable it.

sudo fallocate -l 4G /swapfile

sudo chmod 600 /swapfile

sudo mkswap /swapfile

sudo swapon /swapfile

Let's configure the inclusion of the swap file on subsequent reboots:

sudo nano /etc/fstab

Add the following line to the end of the file (press Tab to separate each word/number), then press Ctrl + X to close the editor, then press Y and Enter to save the file.

/swapfile none swap sw 0 0

Reboot

Now reboot the server:

sudo reboot now

Installing Dashmate

Dashmate setup

Dashmate setup

So, all that remains for us to do is install dashmate on the server.

Let's install dependencies:

sudo apt update

sudo apt install wget docker.io docker-compose docker-compose-v2 -y

sudo usermod -aG docker $USER

Now let's move on to repository with releases and select the current dashmate release (in further commands, specify your current release). At the moment (08/2024) is relevant 1.0.2

Copy the link to the current release for our OS.

and paste it into the following command on your server:

wget -P /tmp/ https://github.com/dashpay/platform/releases/download/v1.0.2/dashmate_1.0.2.030eb0595-1_amd64.deb

sudo apt install /tmp/dashmate_1.0.2.030eb0595-1_amd64.deb

Now, if you enter the dashmate command into the terminal and see the following output, you are all set to configure EvoNode.

Reboot

Now reboot the server:

sudo reboot now

Setting up and running EvoNode

Evolution Maser Node setup and launch

Evolution Maser Node setup and launch

At this point, we have everything ready to launch the Dash Evolution Master Node.

Let's list them:

  1. We have four wallet addresses. One to hold the collateral with 4000 DASH (tDASH), one for the owner, one for voting, and one for payout with some DASH (in my case about 5 tDASH). It takes 15 confirmations to validate the transfer of 4000 DASH.

  2. We also have transaction data for 4000 DASH (tDASH).

We go to the server console and enter:

dashmate setup

Select a network (in my case testnet):

Evolution Maser Node |  network

Evolution Maser Node | network

Next, we indicate that we need the Evolution Master Node:

Evolution Maser Node |  evolution masternote

Evolution Maser Node | evolution masternote

Since I'm running the EvoNode testnet, and doing it purely for the sake of example, I saved on the server, and got the following error (I'll skip it by selecting Yes):

skip

skip

In your case there should be no error.

We register new EvoNodetherefore we leave it in the next point No:

Evolution Maser Node |  new node

Evolution Maser Node | new node

I use Dash Core Walletthat's why I choose this item:

Evolution Maser Node | wallet

Evolution Maser Node | wallet

In the next point we need Specify transaction hash with collateral 4000 DASH and its index. We take this from the transaction data obtained by the masternode outputs command earlier.

Evolution Maser Node |  masternode outputs structure

Evolution Maser Node | masternode outputs structure

Evolution Maser Node |  collateral transaction information

Evolution Maser Node | collateral transaction information

The next thing dashmate will ask us is specify the wallets of the owner, voter and PayOut (I remind you that there should be some DASH on the PayOut address). Let's indicate the wallets received earlier:

Evolution Maser Node |  addresses

Evolution Maser Node | addresses

Next, enter the closed BLS operator key. You can enter the one you created (for example, using Dash Core) or the one you got from your hosting provider. Alternatively, you can use the key automatically generated by dashmate. I used the automatically generated one. I also copied it and kept it safe.

If part of the EvoNode remuneration is to be sent directly to the operator, also set the remuneration percentage.

Evolution Maser Node |  BLS private key

Evolution Maser Node | BLS private key

Enter the platform node key. You can enter one you created or received from your hosting provider. Alternatively, you can use the key automatically generated by dashmate (I did this, copying and saving it):

Evolution Maser Node |  node key

Evolution Maser Node | node key

Attention:
The BLS operator private key and the platform node key must have a saved copy and be securely protected.

Dashmate will automatically detect your external IP address (check that the IP is defined correctly) and selects the default ports for the network you are configuring. You can change these values ​​if necessary, but in general you should use the default values.

Evolution Maser Node |  IP and ports

Evolution Maser Node | IP and ports

After that, dashmate will generate the EvoNode registration command. (Light blue text on the screen below)

Evolution Maser Node |  protx command

Evolution Maser Node | protx command

Copy the provided protx command and Run it using the Dash Core console.

To successfully enter the command into the console, I removed the line breaks in it using a text editor (otherwise the error Error: Invalid Syntax would occur).

If successful, you will receive a response like this.

Evolution Maser Node |  registration success

Evolution Maser Node | registration success

When entering the command, you may receive the following error:

Evolution Maser Node |  unlock wallet error

Evolution Maser Node | unlock wallet error

This means that you need to unlock your wallet. Settings -> Unlock Wallet

After the command has successfully completed, select Yes in the server terminal. If an error occurs, select No to return to the previous steps and view the details.

Evolution Maser Node |  registration success on server

Evolution Maser Node | registration success on server

Dash Platform requires the use of SSL for data exchange. Dashmate provides several options for obtaining the necessary SSL certificate.
Self-signed certificates cannot be used on mainnet. When setting up Evonode on mainnet, the only options available are ZeroSSL and File on disk.

Evolution Maser Node |  SSL configure

Evolution Maser Node | SSL configure

Let's look at the ZeroSSL and File on disk options.

ZeroSSL

The first thing you need to do is register on website. Click Get Free SSL:

Evolution Maser Node |  ZeroSSL registration

Evolution Maser Node | ZeroSSL registration

Enter your email and password and proceed to the next step:

Evolution Maser Node |  ZeroSSL registration

Evolution Maser Node | ZeroSSL registration

Go to the tab “Developer”, and copy “ZeroSSL API Key”:

Evolution Maser Node |  ZeroSSL API Key

Evolution Maser Node | ZeroSSL API Key

Let's specify it in the terminal with dashmate:

Evolution Maser Node |  ZeroSSL API Key on server

Evolution Maser Node | ZeroSSL API Key on server

By pressing Enter we will start the process of creating and verifying certificates for the server

Evolution Maser Node |  ZeroSSL certificates

Evolution Maser Node | ZeroSSL certificates

Note:
Please note that ZeroSSL has restricted access to its resources for some IP zones. In particular, for the RU IP sector, it is impossible to use ZeroSSL at the time of writing this guide.
Also note that verification requires port 80, which may be occupied if Nginx is installed on the server.

File on disk

We obtain the certificate files in one way or another, upload them to the server, for example using scp, and specify the path to them:

Evolution Maser Node |  SSL file on disk

Evolution Maser Node | SSL file on disk

Completing the dashmate configuration

Once the configuration is complete, a summary is displayed showing the network and type of node configured. This summary contains important settings and information on what to do next.

Evolution Maser Node |  complete setup

Evolution Maser Node | complete setup

Launch

Finally, all we have to do is launch EvoNode by running the command:

dashmate start

Evolution Maser Node |  node start

Evolution Maser Node | node start

You can check the status by running the command

dashmate status

Evolution Maser Node |  node status

Evolution Maser Node | node status

The synchronization process will take some time. After that, check the other services.

dashmate status core

Evolution Maser Node |  node status core

Evolution Maser Node | node status core

dashmate status platform

Evolution Maser Node |  node status platform

Evolution Maser Node | node status platform

dashmate status services

Evolution Maser Node |  node status services

Evolution Maser Node | node status services

You can verify that EvoNode is running by going to the Masternodes tab in Dash Core Wallet and checking the box next to My masternodes only. Your EvoNode should be displayed there.

Evolution Maser Node |  Dash Core Wallet Masternodes tab

Evolution Maser Node | Dash Core Wallet Masternodes tab

This completes the setup and launch Dash Evolution Master Node can be considered complete.
How to use the received information will be described in further guides on the topic.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *