Migration from Secure Node to Super Node

Use this page for instructions regarding migrating your Secure Node to a Super Node.

Upgrading the node tracker

  • Move the secnodetracker folder, renaming in the process
  • Update the git repository remote URL
  • Update the tracker software
  • Test the new tracker software for your Secure Node

Zen.conf Configuration

  • Add IPv4 external IP
  • Add IPv6 external IP
  • Add port 9033

Change from Secure Node to Super Node

  • Add an additional DNS record for your fully-qualified domain name (FQDN) - either an A record, if your Secure Node was IPv6, or an AAAA record if your Secure Node was IPv4. Both IPv4 and IPv6 addresses for your Super Node must resolve via DNS.
  • Prepare a new transparent (T) address with a staking balance of 500 ZEN (you must not re-use the T address used for the Secure Node stake)
  • Configure the tracker for a Super Node



DescriptionCommand

Upgrading the node tracker
1Stop the running tracker process

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo systemctl stop zentracker

For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 stop 0
2

Move (mv) the securenodetracker folder, renaming it in the process, generally this will be ~/zencash/secnodetracker and change directory (cd) to the new folder

mv ~/zencash/secnodetracker ~/nodetracker && cd ~/nodetracker
3Update git with the new repository URL and retrieve the latest source code
git checkout -- package.json
git remote set-url origin https://github.com/ZencashOfficial/nodetracker.git
git fetch origin
git checkout master
git pull

NOTE: If git returns an error regarding any files run the following command (replacing 'filename with the file returned in the error message) and repeat the commands above

git checkout -- filename
4Install the latest set of node modules required for the tracker
npm install

zen.conf configuration - skip steps 5 and 6 if this has already been done for your node
5

Locate your node's public IPv4 and/or IPv6 address(es) and append them to the zen.conf file as external IP address(es) connected over port 9033 (default)

NOTE: Replace <IPv4> with the public IPv4 of your node, remove <brackets>

NOTE: Replace <IPv6> with the public IPv6 of your node in compressed notation without leading zeros, remove <brackets>

Use the following link to ensure your IPv6 address is in compressed notation:

https://www.ultratools.com/tools/ipv6Compress

Create environmental variables for IPv4

IPV4=<IPv4>

Append external IPv4 into zen.conf

echo "externalip=$IPV4" >> ~/.zen/zen.conf

Create environmental variables for IPv6

IPV6=<IPv6>

Append external IPv6 into zen.conf

echo "externalip=$IPV6" >> ~/.zen/zen.conf

Append port into zen.conf

echo "port=9033" >> ~/.zen/zen.conf
6

Restart zend and check the address configuration

NOTE: The output of the 2nd command should display the address(es) entered in the previous step

For installations using systemd (assumes the unit file is named 'zend.service')

sudo systemctl restart zend && sleep 8

For installations using monit

sudo monit restart zend && sleep 8
zen-cli getnetworkinfo | grep address
7

Run node setup again to refresh the list of tracker servers and initialise the new tracker, press enter through each of the values to retain the current set

  • Enter 'secure' for the 'node category' prompt
node setup.js
8

Update the relevant monitoring process based on your installation

  • For installations using systemd, update the zentracker.service systemd unit with the tracker's new folder location
  • For installations using pm2, delete the existing process definition

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo sed -i  "s|zencash/secnodetracker|nodetracker|g" /lib/systemd/system/zentracker.service

For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 delete 0
9

Reload the node tracker process and start it

  • For installations using systemd, reload the systemd unit and start
  • For installations using pm2, start the process and save

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo systemctl daemon-reload
sudo systemctl start zentracker


For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 start app.js --name nodetracker
pm2 save
10

Verify that the tracker is running successfully following the update

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo systemctl status -n 0 zentracker

For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 logs

Change from Secure Node to Super Node
11Stop the running tracker process

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo systemctl stop zentracker

For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 stop 0
12

Run the node setup again;

  • Enter 'super' for the 'node category' prompt
  • Enter the new T address with 500 ZEN stake
  • Enter through the remaining options, assuming no changes are required
node setup.js
13Start the node tracker

For installations using systemd (assumes the unit file is named 'zentracker.service')

sudo systemctl start zentracker

For installations using pm2 (assumes the tracker is running as the only or first process, numbered 0)

pm2 start 0
14

Verify your Super Node is displayed on the tracking website


https://supernodes.zensystem.io/nodes/all




© 2020 Horizen. All rights reserved.