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
Description | Command | |
---|---|---|
Upgrading the node tracker | ||
1 | Stop 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 |
3 | Update 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 |
4 | Install 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: | 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
| node setup.js |
8 | Update the relevant monitoring process based on your installation
| 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 (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 | ||
11 | Stop 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;
| node setup.js |
13 | Start 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 |