• Forum has been upgraded, all links, images, etc are as they were. Please see Official Announcements for more information

TAO'S MASTERNODE SETUP GUIDE FOR DUMMIES (UPDATE GUIDE UPDATED FOR 13.0)

Hi all, thanks to this awesome guide I have successfully set up 3 masternodes that I have been operating for a couple of months now. My only issue is that it seems that about once a week or two, each of the nodes (hosted on vultur) 'crash' (meaning the dashd process stops for some reason), and I have to go through the manual process of restarting the dashd client and digging the wallets out of cold storage to get everything up and running again. There doesn't seem to be a pattern to them crashing, and since I'm not a linux expert I'm having a hard time diagnosing what the problem is here. It does not appear that the instance itself is going down, so something else is causing the dash core to exit.

My questions are:

1) what is the best way to diagnose how/why dashcore stopped functioning?
2) Are other masternode operators seeing this pattern, meaning is this just typical behavior?
3) is the base 768MB / 15GB vultur node enough horsepower for a masternode, or could it be running out of RAM? Storage seems to be fine @ 15GB.
4) Is there a way to restart these nodes without having to dig out your wallet from cold storage each time?
5) Are there external ways to 'crash' someone else's masternode? I've disabled root logins and used the guide's basic firewall setup, should I be doing more here security-wise?

Sorry for the noob questions, I've got a lot to learn about Linux.

1) There is a bunch of scripts posted on forum
could be as simple as:
Code:
#!/bin/bash
if [ -z `pidof dashd` ]; then
/path/to/dashd
fi
save this to some file e.g. mn_watch.sh, make it executable
Code:
chmod u+x mn_watch.sh
and run it every 5 minutes via cron
Code:
crontab -e
# add this line
*/5 * * * * /path/to/mn_watch.sh >/dev/null 2>&1

2) It depends, crashes can happen due to a) errors in code b) lack of resources
3) Could be that it's killed by OOM (system), consider adding/increasing swap file
4) If they were offline more than 3 hours - no, if less - they should recover by themselves
5) Could be a result of ddos attack if you don't have proper defense in place and/or enough resources to mitigate it
 
Thanks for this guide. I'm working my way through it step by step. I've run into a problem, when I attempt to login to my VULTR VPS using PuTTY or WinSCP I'm always met with "Access Denied." I am able to login via the console using the same login credentials. What have I missed?
 
You are now ready to start the beating heart....

Run your dashd daemon:

cd .dashcore
./dashd


You will see the message "Dash Server Starting". Let it sync while you move on to the next step.


Thank you so much Tao... but please help!

I have followed your instructions to a T up to the above quoted step. At this point, although I can clearly see the file "dashd" in ".dashcore" in WinSCP:
upload_2017-3-14_16-41-42.png


I get the below error when trying to run it in putty:
upload_2017-3-14_16-46-7.png


Can anyone help?

Highest Regards,
Jeremy
 
Hello Tao.

Small updates for your Guide:
1. SSH sessions expires VERY quickly on Vulture VPSes by default: (about 3 min. I can't configure anything at all)

SSH server expires too quickly: (edit /etc/ssh/sshd_config) add lines:

ClientAliveInterval 60
ClientAliveCountMax 60

then do:
/etc/init.d/ssh restart

2. For multiple Masternodes please put a NOTE:

"Note: A masternode private key will need to be created for each Masternode you run. You should not use the same masternode private key for multiple Masternodes."

This is NOT obvious to me.

3. We can install all the dependencies in one go, at the start.

# apt-get install git python-virtualenv virtualenv htop vim joe

4. Thanks !!

-Technologov
 
Last edited:
Hey Guys,

i was able to make my own Masternode with succes, it has been running for 4 days, does any one have estimate when to expect earning..
Everything is running fine, i dont know if there is a certain period when earning are credited..
 
Hi, you mentioned the local wallet can be closed here on afterwards when successful, but does the masternode need to have its wallet unlocked at all times? I saw the encrypt part in the steps, but couldn't find the unlocking part.
 
Hi I used Tao's guide to setup Masternode on remote server. I was able to get "Masternode Sucessfully Started" on putty screen. But when I go and check the status of my MN on dashninja it says "Inactive" under status bar ? I still 1000 DASH vested, and my server CPU is running at 9% with like 3.5 gb space used ? Can someone help please ?
 
@NewDashUser, I am wondering that the message "Masternode successfully started" you see on the putty screen. Starting masternode should be done from your local Dash Core wallet, that controls the private key holding your 1000 Dash collateral (Step 7 of Tao's manual). So either you keep your Dash collateral on the remote server's wallet (which is not safe) or you have done this step on the wrong machine (remote instead of local).
 
Thank you for the update. I know you are a busy guy, I appreciate you taking the time to update this.
 
@NewDashUser, I am wondering that the message "Masternode successfully started" you see on the putty screen. Starting masternode should be done from your local Dash Core wallet, that controls the private key holding your 1000 Dash collateral (Step 7 of Tao's manual). So either you keep your Dash collateral on the remote server's wallet (which is not safe) or you have done this step on the wrong machine (remote instead of local).

Dear Bertrand256,
I did exactly as mentioned by Tao's guide, which means I did start the masternode using step 7 from Tao's manual. In that case I am assuming my Dash Collateral remains in my local wallet ?? Is my assumption correct ? Sorry, my computers skills are not that great to fully understand this. Now when i open my local wallet I can see all my Dash including collateral.
And yes "Masternode successfully started" shows up in Putty screen. According to step 10 of Tao's guide.

And yesterday while going through my steps again one by one. I was able to restart my Masternode and it seems to be Active and running since. But I did something different as mentioned below:
Initially when I created "dashcore" folder on my server. I did not use "." in front of "dashcore". Infact my server did not allow me to create ".dashcore" folder, so I had to remove dot "." from the front and just name it "dashcore" instead of ".dashcore". And there after I kept using "dashcore" everywhere through the guide. But one place i forgot in step 9:
* * * * * cd /home/YOURUSERNAME/.dashcore/sentinel && ./venv/bin/python bin/sentinel.py 2>&1 >> sentinel-cron.log
So once I removed that dot "." in front of "dashcore", and restarted my masternode from local wallet things seems to be working.

Now the questions are:
What does step 9 do ?
Why my server did not allow me to use dot "." in front of "dashcore" folder name ?
Does, not using dot "." in folder name make any difference ?
Is there anything I might be missing or ignoring which might have impacted ?

Thanks a lot for your support on this...

Regards
 
Now the questions are:
What does step 9 do ?
Why my server did not allow me to use dot "." in front of "dashcore" folder name ?
Does, not using dot "." in folder name make any difference ?
Is there anything I might be missing or ignoring which might have impacted ?
@NewDashUser, Step 9 is used to execute additional program (sentinel) cyclically, which is required for the masternode to be perceived by the network as active. If you do not do so, your masternode will soon receive WATCHDOG_EXPIRED status and will be removed from the payment queue.
The leading dot in the directory name on linux systems causes the directory to be hidden - it will not be shown when using the ls command without additional argument. To see it use: ls -a
The leading dot is very important - you must treat it as part of the name. At startup, dashd checks to see if the .dashcore directory exists. If not, it is created with the default configuration files.
It is very possible that the .dashcore directory existed when you tried to create it, so that's why linux returned an error.
 
@NewDashUser, Step 9 is used to execute additional program (sentinel) cyclically, which is required for the masternode to be perceived by the network as active. If you do not do so, your masternode will soon receive WATCHDOG_EXPIRED status and will be removed from the payment queue.
The leading dot in the directory name on linux systems causes the directory to be hidden - it will not be shown when using the ls command without additional argument. To see it use: ls -a
The leading dot is very important - you must treat it as part of the name. At startup, dashd checks to see if the .dashcore directory exists. If not, it is created with the default configuration files.
It is very possible that the .dashcore directory existed when you tried to create it, so that's why linux returned an error.
@NewDashUser, Step 9 is used to execute additional program (sentinel) cyclically, which is required for the masternode to be perceived by the network as active. If you do not do so, your masternode will soon receive WATCHDOG_EXPIRED status and will be removed from the payment queue.
The leading dot in the directory name on linux systems causes the directory to be hidden - it will not be shown when using the ls command without additional argument. To see it use: ls -a
The leading dot is very important - you must treat it as part of the name. At startup, dashd checks to see if the .dashcore directory exists. If not, it is created with the default configuration files.
It is very possible that the .dashcore directory existed when you tried to create it, so that's why linux returned an error.

Dear Bertrand256,
Oh yes...i can see the hidden folder .dashcore directory now, now what shall I do ? should i do everything again with .dashcore i mean go back to the original guide and do everything again ? If yes, how shall I stop everything and clean it to do all over again ?
 
@NewDashUser, if you indeed succesfully started your masternode and dashninja reports its status as active then you probably has correct configuration in the .dashcore directory, so repeating steps related to starting masternode will not be necessary.

Instead I suggest you to:
  1. make sure, that your .dashcore/dash.conf file contains the correct values; in fact it should, because otherwise your masternode wouldn't be active (lack of private key in the config)
  2. if you don't have sentinel installed inside the .dashcore directory (ls ~/.dashcore/sentinel) I suggest you to repeat the steps: 2-6 and 8-9;
  3. delete the old dashcore (without leading dot) directory, just to avoid confusion in the future
 
@NewDashUser, if you indeed succesfully started your masternode and dashninja reports its status as active then you probably has correct configuration in the .dashcore directory, so repeating steps related to starting masternode will not be necessary.

Instead I suggest you to:
  1. make sure, that your .dashcore/dash.conf file contains the correct values; in fact it should, because otherwise your masternode wouldn't be active (lack of private key in the config)
  2. if you don't have sentinel installed inside the .dashcore directory (ls ~/.dashcore/sentinel) I suggest you to repeat the steps: 2-6 and 8-9;
  3. delete the old dashcore (without leading dot) directory, just to avoid confusion in the future

Dear Bertrand256,
- As you said I went in and updated .dashcore/dash.conf, in fact it was already correct (i remember originally saving dash.conf in .dashcore, but wondered how that happened since i couldnt see .dashcore. Later I created dashcore/conf assuming I was supposed to used dashcore instead of .dashcore), may be thats why my node started at in the first place. But i guess did not continue since i did not have sentinel in the correct folder.
- Now I installed sentinel in .dashcore director as you said and everything seem to be working as expected.
- I also deleted old dashcore directory as you suggested.

I really really appreciate your support on this. Without your help it was never possible. You are a champ.

Now feel the need of learning more of Unix/Linux.

Also I think Tao's guide need to be updated to clear the ".dashcore" confusion. I wonder how that directory got created without me creating it ? Or may be I made some mistake in following the steps.

Regards..
 
I wonder how that directory got created without me creating it ? Or may be I made some mistake in following the steps.
Dashd, at startup, creates a .dashcore directory if it does not exist, then it creates a dash.conf file with the default content (in fact it is empty) and downloads the Dash blockchain into it.
 
Remember, Linux is only free if your time is worthless.

Only joking, I suck at linux too, that is why I have @splawik21 host my masternode for me :D

Sorry for the irrelevant post. Bump for answers?!
 
@ac0 It looks as if you were trying to execute a binary version for another hardware architecture, for example binary for Intel x86 on Raspberry Pi or 64-bit version on a 32-bit machine.
Please submit the results of the following two commands:
Code:
uname -a
readelf -a ~/.dashcore/dashd | grep interpreter
 
Back
Top