mccrypto avatar

HOW TO SETUP ZENCASH SECURE/SUPER NODE ON UBUNTU 16.04 SERVER

mccrypto

Published: 18 Jul 2018 › Updated: 18 Jul 2018HOW TO SETUP ZENCASH SECURE/SUPER NODE ON UBUNTU 16.04 SERVER

HOW TO SETUP ZENCASH SECURE/SUPER NODE ON UBUNTU 16.04 SERVER

########################################

DOMAIN CONFIG

########################################

Set your domain with A records on ipv4 and with AAAA records on ipv6

########################################

WALLET

########################################

I use swing wallet

Create new transparent address and send 42 zen for secure node or 500 for supernode

########################################

SECURE THE SERVER

########################################

- Change ssh port

vim /etc/ssh/sshd_config

change 22 with another port like 32

/etc/init.d/ssh restart

- Config Firewall

ufw default allow outgoing
ufw default deny incoming
ufw allow 32/tcp
ufw limit 32/tcp
ufw allow http/tcp
ufw allow https/tcp
ufw allow 9033/tcp
ufw logging on
ufw enable

- Disable ping

vim /etc/sysctl.conf

#####################

net.ipv4.icmp_echo_ignore_all =1 

#####################

sysctl -p
vim /etc/rc.local

##########################################

#Load kernel variables from /etc/sysctl.d

/etc/init.d/procps restart

exit 0

##########################################

- Install Denyhost

apt install denyhosts
vim /etc/denyhosts.conf

insert on the top

#############################

BLOCKPORT = 32

#############################

and change this to 3 failed login

#############################

DENY_THRESHOLD_ROOT = 3

DENY_THRESHOLD_RESTRICTED = 3

#############################

systemctl restart denyhosts.service
systemctl enable denyhosts.service

- Create swap if necessary (ram+swap 6gb total for secure node, 8gb for supernode)

fallocate -l 2G /swapfile

chmod 600 /swapfile

mkswap /swapfile

swapon /swapfile

cat <<EOF >> /etc/fstab

/swapfile none swap sw 0 0

EOF

cat <<EOF >> /etc/sysctl.conf

vm.swappiness=10

EOF

#########################################

INSTALL ZEN

#########################################

apt-get update

apt-get install apt-transport-https lsb-release

echo 'deb https://zencashofficial.github.io/repo/ '$(lsb_release -cs)' main' | sudo tee --append /etc/apt/sources.list.d/zen.list

gpg --keyserver ha.pool.sks-keyservers.net --recv 219F55740BBF7A1CE368BA45FB7053CE4991B669

gpg --export 219F55740BBF7A1CE368BA45FB7053CE4991B669 | sudo apt-key add -

apt-get update

apt-get install zen # to install Zen

zen-fetch-params

zend

vim .zen/zen.conf

#################################

rpcuser=youruser

rpcpassword=yourpw

rpcport=18231

rpcallowip=127.0.0.1

server=1

daemon=1

listen=1

txindex=1

logtimestamps=1

#tlscertpath=/root/.acme.sh/yourdomain.com/yourdomain.com.cer

#tlskeypath=/root/.acme.sh/yourdomain.com/yourdomain.com.key

externalip=your ipv4

externalip=your ipv6

port=9033

###################################

zend

zen-cli getinfo

apt install socat

mkdir acme

cd acme

apt-get install git

git clone https://github.com/Neilpang/acme.sh.git

cd acme.sh

./acme.sh --install

FQDN=yourdomain.com

echo $FQDN

./acme.sh --issue --standalone -d $FQDN 

cp /root/.acme.sh/yourdomain.com/ca.cer /usr/share/ca-certificates/ca.crt

dpkg-reconfigure ca-certificates  (select new ca the first in list and then ok)

enable your ca link in zen.conf

vim /root/.zen/zen.conf

############################################################

tlscertpath=/root/.acme.sh/yourdomain.com/yourdomain.com.cer

tlskeypath=/root/.acme.sh/yourdomain.com/yourdomain.com.key

############################################################

zen-cli stop

zend

zen-cli getnetworkinfo

#######################################

CREATE WALLET FOR NODE

#######################################

zen-cli z_listaddresses

zen-cli z_getnewaddress

send 0.05 zen from wallet to the z_address server for challange

###########################################

wait blockchain sync and check your balance 

###########################################

zen-cli z_gettotalbalance

###########################################

AFTER SYNC BLOCK INSTALL AND CONFIG TRACKER

###########################################

apt -y install npm
npm install -g n
n latest

mkdir ~/zencash
cd ~/zencash
git clone https://github.com/ZencashOfficial/secnodetracker.git
cd secnodetracker
npm install

node setup.js (insert all information)

node app.js

stop with ctrl-c

cd ~/zencash/secnodetracker/
npm install pm2@2.4.0 -g
pm2 start app.js --name securenodetracker
pm2 startup
pm2 save

apt install monit

vim ~/zen_node.sh

##################################################################

#!/bin/bash

PID_FILE='/root/.zen/zen_node.pid'

start() {

       touch $PID_FILE

       eval "/bin/su root -c '/usr/bin/zend 2>&1 >> /dev/null'"

       PID=$(ps aux | grep zend | grep -v grep | awk '{print $2}')

       echo "Starting zend with PID $PID"

       echo $PID > $PID_FILE

}

stop () {

       pkill zend

       rm $PID_FILE

       echo "Stopping zend"

}

case $1 in

    start)

       start

       ;;

    stop)  

       stop

       ;;

     *)  

       echo "usage: zend {start|stop}" ;;

 esac

 exit 0

###########################################################################

chmod u+x ~/zen_node.sh

vim /etc/monit/monitrc

#############################################################################

#added on setup for zend

set httpd port 2812

use address localhost # only accept connection from localhost 

allow localhost # allow localhost to connect to the server

#zend process control

check process zend with pidfile /root/.zen/zen_node.pid

start program = "/root/zen_node.sh start" with timeout 60 seconds

stop program = "/root/zen_node.sh stop"

#############################################################################

monit reload

monit start zend

monit status

monit stop zend

monit status

pm2 status

pm2 logs

zen-cli getinfo

zen-cli getnetworkinfo

#######################################

FOR RESTART ZEN AND TRACKER

#######################################

monit restart zend
pm2 restart 0

NOTE:

Backup this files for reinstall or transfer your node

/root/.zen/zen.conf

/root/.zen/wallet.dat

/root/zencash/secnodetracker/config/config.json

If you want to give me a beer or a coffee... Thank you for reading!

zen: znXX7K2T2TFgkPqgw3Tbq3vvgzHUQnkLKWF 

Leave HOW TO SETUP ZENCASH SECURE/SUPER NODE ON UBUNTU 16.04 SERVER to:

Written by

Read more #zencash posts


Best Posts From mccrypto

We have not curated any of mccrypto's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.

More Posts From mccrypto