Easy Dynode, Deployment, Setup, and Maintenance, on a Vultr VPS

Lord Dark Helmet
10 min readSep 27, 2020

Duality Dynode setup on a Vultr VPS is easy to do using the advanced capabilities of my Dynamic Deployment Script. Learn how to deploy and monitor a Dynode without ever having to log into your VPS.

Objective

This article will show you how to easily deploy a Dynode without ever having to log into a VPS. The end result will be a worry free Dynode deployment.

Step 1: You need a Vultr account

Vultr is a trusted VPS provider with servers around the world. The script that I wrote can leverage the Vultr API to provide server status and updates without ever having to SSH into your servers.

Currently there is a promotion that gives your $100 to try their services, so it is a good deal if you want to try things out:

Step 2: API Access

The Vultr API allows for programs to update server names and perform actions on your account. The script I wrote uses your API key to update the server name providing you with status information without ever having to log in. Never share your API Key with anyone, it is the same as sharing your login and password information.

To enable API access:

1. Click on “Account” on the left-hand side
2. Click API and copy the API code
3. Generate a new API Key. (you only need to do this once. If you do it again after you deploy the script will not have the right access to get in.
4. Click Allow All IPv4
5. Click Allow All IPv6 (optional)

Again, NEVER SHARE your API key with anyone. Doing so is the same as giving access to your account. Keep it private at all times. You are going to use your API key in the next step you will see it as YOUR_API_KEY_FROM_VULTR_KEEP_PRIVATE.

You can improve security later on by removing the Any IPv4 and IPv6 access and explicitly listing the IP address of each of your Dynodes.

Step 3: Create the Launch Script

Now we are going to create a script that runs when you start up your VPS. This script will give the instructions to setup and launch your Dynode.

1. Click Products
2. Click Scripts
3. Click the “+” icon
4. Click “Add Startup Script”

Now we need to plug in the right information.

1. Give the Script a Name. Something like “Install Dynode”
2. The contents should look like this:

#!/bin/sh wget -N https://github.com/LordDarkHelmet/DynamicScripts/releases/download/v1.0.0/dynSimpleSetup.sh && sudo sh dynSimpleSetup.sh -v YOUR_API_KEY_FROM_VULTR_KEEP_PRIVATE -d unknown

Be sure to replace YOUR_API_KEY_FROM_VULTR_KEEP_PRIVATE with the API key from earlier. Remember to keep this key private at all times. Do not share it with anyone.

Let’s talk about the attributes for a second.

The -v is to let the script know your Vultr API key. The script will use it to update the server name to let you know status without ever having to log on.

The -d unknown is letting the script know that it should generate its own Dynode pairing key. Later on we will see this key in the server’s tag.

You can find more attributes on my GitHub repository
https://github.com/LordDarkHelmet/DynamicScripts

3. Click “Add Script to save your file”

Step 4: Launch as many Dynodes as you want!

Now the fun part! We are going to launch a lot of Dynodes!

1. Click Products
2. Click the “+” icon

3. Under Choose Server, Click Cloud Compute. You can choose something greater, but I am going to select the minimum viable configuration.

4. Choose the Server Location. It does not matter where you run it.

5. Choose the server type. I highly recommend going with Ubuntu 20.04 as it will give you the longest support lifecycle. As a general rule you only want to use LTS (long term support) releases for Dynodes. The next LTR release will be 22.04.

6. Select the type of server. The minimum viable configuration is the $5 option shown below. You can choose something more if you want.

7. Now you want to select your startup script. We are going to choose “Install Dynode” from earlier.

There is no need to fill out hostname or anything else. The script is going to fill it in for you! If you want IPv6 you can select it. It is not necessary, but it does not hurt.

8. Under Server Quantity select the number of serves you want to deploy. In this case I am going to launch 10 Dynodes.

We did it! we launched 10 Dynodes!

For now, we are going to need to wait for them to get up and running. The server name will auto update to show you the status. You will never need to log into the server!

Step 5: Waiting for the Dynodes to become ready

At this point the Dynodes are launched, but they need to become ready. Here are the stages they will go through before you can start them from your control wallet.

First Launch

At this point the server is just starting up. It will be a just a few minutes before the script starts going.

Script Starting

At this point the script via your API key updated the name of your server. You can see that it is a Dynode. The second number is the Vultr server number, the next number is the script version that is running, then the status, Setting Up. This is the script gathering the right resources and configuring the VPS so that the Dynode is optimally setup.

At this point you can find out the Dynode Pairing key. If you click on the server it will be in the “Tag” field. Use this number to setup your Dynode on your control wallet. (This is the wallet with your coins)

While you can configure your Dynode you will need to wait until your Dynode is ready to go before you send the start signal from your controller wallet.

Setup is complete, Starting Up, but not ready yet

At this point the script has configured the Dynode and it is currently starting. You will see some extra information in the server name.

The first part 2020–09–26 18:45:01 is the last time the script updated the server name. It will update approximately every 5 minutes.

The second part v2.4.4.1.b, 2040401 is the script version number and the Dynode version number. The script version will never change. The Dynode version will update. If you enable auto update, the Script will compile and update the Dynode whenever there is a new release.

The third part is legacy, People used to mine on the VPS and this part displayed the hash rate 0 hps. While you can turn on mining, it is not recommended as your account may be suspended and it will most likely not successfully mine a block.

Finally, the status is shown, DYNODE 40850024=Node just started, not yet activated as you can see the node has just started. It needs to sync before activation will hold.

Syncing

The next stage is syncing. This will take a while to do. This step takes a long time. You may want to step away from your computer for a few hours. This would be a good time to get things organized in your controller wallet so that you can launch your Dynodes once it becomes ready.

Ready to Go!

The Dynode is in a state where you can use your controller wallet to launch your Dynode.

When it says Not capable Dynode: Dynode not in Dynode list, that means that it is synced up and ready to go. At this point you need to use your controller wallet to send a start signal.

Step 6: Send the Start Signal

At this point your VPS is ready to go. All you need to do is send the start signal from your controller wallet.

I am assuming that you have already moved your 1000 DYN and have configured your dynode.conf file on your controller wallet. If you have not then here is a very brief breakdown.

Step 1: Create a name you want to use to identify your Dynode. In this case I am going to use Dynode-Example as my name.
Step 2: Get the IPv4 address of your Dynode, In our example it is 155.138.217.116 Remember this must be an IPv4 address.
Step 3: Copy the Dynode Pairing Key from the “tag” field. In this example it is: 5hXdxEeUxn1Xh7YRveo6MnYWZ3QoVEVthzV4nvVzkW3WMCmSxqU
Step 4: Send exactly 1000 to a DYN address that you control.
Step 5: Open the Debug Console. It is under “Tools”

Step 6: In the Debug Console type in “dynode outputs” It will show you a list of your transactions that are Dynode Capable. In this case the Transaction ID is 635710eb402fd7bb4e5c199629c89164256e316be012133e9c343455bdd7c929 and the output ID is 1.

Step 7: Now we are going to edit the Dynode config file. You can easily open it by selecting “Open Dyndoe Configuration File” under tools.

Step 8: We are going to add the right information to the config file. The format is the Dynode name, then the IP address of your VPS with the port 33300, then the dynode pairing key, then the transaction ID, then the Output ID. In our example the string looks like this (it is one single line):

Dynode-Example 155.138.217.116:33300   5hXdxEeUxn1Xh7YRveo6MnYWZ3QoVEVthzV4nvVzkW3WMCmSxqU  635710eb402fd7bb4e5c199629c89164256e316be012133e9c343455bdd7c929  1

Step 9: Save the file and restart the Dynamic wallet.
Step 10: Wait until your transaction is matured by at least 15 cycles.
Step 11: Go to the Dynodes Tab. You will see that the status of your Dynode is “Missing”.

You need to start your dynode by either clicking on your Dynode and selecting “Start alias”, or by pressing the “Start all” button. For this example, I only have one Dynode so I am going to press Start All. If you already have Dynodes running, you may want to start them individually. If a Dynode is running and you send a start signal, it will be placed at the back of the line for rewards.

Type in your password and press OK.

Success! If you get an error, make sure that your transaction has matured for at least 15 blocks.

Notice that the “Status” changed to Enabled!

Step 7: Done!

At this point your Dynode is up and running. You will be able to see the results on Vultr in 5 minutes or less.

We can see that your Dynode has been successfully started. At this point the advanced capabilities of the script I wrote are monitoring and repairing the Dynode at all times. It makes for worry free operation!

When will you get your first reward?

This question gets asked a lot. Any time you start a Dynode you go to the back of the line, even if it was already running. So do not send multiple start signals! The line is as much as twice the number of active Dynodes. That means if there are 3000 Dynodes, then your first reward will occur in 6000 blocks. Block spacing is 128 seconds so you can expect your first reward to arrive in less than 9 days. After that you will receive additional reward every 4.5 days. This number will vary depending on the number of Dynodes. Here is an equation you can use:

Average Dynode Reward Time =
Block Time * Total Number of Dynodes =
128 seconds * 3000 Dynodes =
384,000 seconds = 6,400 minutes = 106.66 hours = 4.44 Days
First Reward Time = 2 * Average Dynode Reward Time
= 2 * 4.44 days = 8.88 days

Final Step: Join the community!

The Duality community is helpful and forward thinking. We are looking forward to you becoming part of our thriving ecosystem.

Discord is where you can get help, and meet the development team.

I hope that this is helpful. If you have any questions please do not hesitate to ask.

D9T2NVLGZEFSw3yc6ye4BenfK7n356wudR

--

--