Nym Testnet

from 10 Jun 2021 to 01 Aug 2021
Event Info

                                                                                 Nym - Setup Guide

1. Installation of mixnode v0.10.1

One-liner script by Nodes.Guru for quick installation of latest version 0.10.1. Execute the following:
wget -O nym.sh https://api.nodes.guru/nym.sh && chmod +x nym.sh && ./nym.sh
You will be promted to enter id for your node: input name and wait for setup to finish. Once finished proceed to Step 2. UPDATE FROM 0.10.0 to 0.10.1 First of all Unbond your node in web-wallet. Don’t stop your node manually, script will do stop and start for you! Run upgrade script:
wget -O nym_upgrade.sh https://api.nodes.guru/nym_upgrade.sh && chmod +x nym_upgrade.sh && ./nym_upgrade.sh
Then do the Bond again.

2. Setting up node to connect to network

2.1 Link your telegram name to your node (including symbol @; case-sensitive). (repalce NodesGuru with your node’s id):
nym-mixnode sign --id NodesGuru --text @TELEGRAM_USERNAME
Copy your unique command like this: /claim 123123123123123 123123123 and join telegram nym bot chat t.me/halbotnym. Send command (plain text, no markdown), bot will reply with “you have successfully claimed node”. 2.2 Register wallet for HAL tokens Wallet is here !! save mnemonic !! copy your hal address hal…. Get back to telegram bot chat and send him your address /faucet hal........... Bot will send you 101 HAL tokens so that you can Bond your node. 2.3 Once you get tokens, do Bond. Fire up node:
systemctl start nym-mixnode
Make sure it has started and shows no Errors (Warnings are OK):
journalctl -u nym-mixnode -f -o cat
Output information required for Bonding:
journalctl -u nym-mixnode -o cat | grep Version: -B 6
get back to wallet website, login with mnemonic. Open Bond page (upper left) and fill in the form with information from terminal (location is City/Country where your server is located) IMPORTANT! input your host together with port 1789 (ххх.ххх.ххх.ххх:1789). If you did everything right, you will see yourself in the explorer. Your node should start mixing packets in a while:
journalctl -u nym-mixnode -o cat | grep "Since startup mixed" | tail -1

3. Useful commands

3.1 Check your node version:
journalctl -u nym-mixnode -o cat | grep version | tail -1
3.2 Check your node service name:
ls ~/../etc/systemd/system | grep nym
nymd.service – old name from Nodes.Guru guide (update it to nym-mixnode with Step 3.9) nym-mixnode.service – compliant name 3.3 Check your node’s id:
systemctl status nym-mixnode | grep id
3.4 Check your Identity and Sphinx public keys:
sudo journalctl -u nym-mixnode -n 100 -o cat | grep "Public identity key"
sudo journalctl -u nym-mixnode -n 100 -o cat | grep "Public sphinx key"
3.5 Information for Bond form:
journalctl -u nym-mixnode -o cat | grep Version: -B 6
3.6 Check how many packets your node mixed:
journalctl -u nym-mixnode -o cat | grep "Since startup mixed" | tail -1
3.7 Save your node’s info into nymd_info.log file:
journalctl -u nym-mixnode -o cat | grep Version: -B 6 >> $HOME/nymd_info.log
Read file:
cat $HOME/nymd_info.log
3.8 Restart your node:
systemctl restart nym-mixnode
3.9 Service name update from nymd to nym-mixnode for compliance to official docs. oneliner autoscript:
wget -O nym_rename.sh https://api.nodes.guru/nym_rename.sh && chmod +x nym_rename.sh && ./nym_rename.sh
commands for manual change:
sudo systemctl stop nymd
sudo systemctl disable nymd
sudo mv /etc/systemd/system/nymd.service /etc/systemd/system/nym-mixnode.service
sudo systemctl daemon-reload
sudo systemctl enable nym-mixnode
sudo systemctl start nym-mixnode
sudo systemctl status nym-mixnode
3.10 Extend ulimit (important for mixnode’s health in future): oneliner autoscript:
wget -O nym_ulimit.sh https://api.nodes.guru/nym_ulimit.sh && chmod +x nym_ulimit.sh && ./nym_ulimit.sh
commands for manual change:
echo "DefaultLimitNOFILE=65535" >> /etc/systemd/system.conf
sudo systemctl daemon-reload
sudo systemctl stop nym-mixnode
sudo systemctl start nym-mixnode
Check that ulimit has changed to 65535
grep -i "Max open files" /proc/$(ps -A -o pid,cmd|grep nym-mixnode | grep -v grep |head -n 1 | awk '{print $1}')/limits
3.11 Ipv6 checks See whats your external ipv6:
curl http://v4v6.ipv6-test.com/api/myip.php && echo
Check connection via ipv6 to google.de:
ping6 www.google.de
Check if you got ipv6 on your network settings:
hostname -I
3.12 Check presence of your node in mixnode lists published on 7th of May: Download script and paste your identity key:
wget -q -O nym_lists_check.sh https://api.nodes.guru/nym_lists_check.sh && chmod +x nym_lists_check.sh && ./nym_lists_check.sh
To run it again simply type this:
or this, but replace YOUR_identity_key with your Identity key:
./nym_lists_check.sh YOUR_identity_key
3.13 Decypher your public Identity and Sphinx keys: Run commands (snapd may be installed differently on your OS):
apt install snapd
snap install base58
ls -1 $HOME/.nym/mixnodes/*/data/public_identity.pem | while read F; do echo === $F ===; grep -v ^- $F | openssl base64 -A -d | base58; echo; done
ls -1 $HOME/.nym/mixnodes/*/data/sphinx_identity.pem | while read F; do echo === $F ===; grep -v ^- $F | openssl base64 -A -d | base58; echo; done


If you still got problems with node (for example ‘could not create TCP Listener’; or mixed packets are still 0 after 10 minutes of running), check the following: 1) is TCP 1789 port opened on server? 2) is TCP 1789 port opened for inbound and outbount on Firewall at your server control panel (website)? 3) did you put external ip in your Bond form together with :1789? 4) did you put Layer value in Layer field and not 1789? 5) If you use Google Cloud, AWS, run node on hostings outside those NodesGuru recommend, or even run it at desktop or virtual machine: 5.1) check that you got static ip 5.2) check official docs about custom –init and how to set internal/external ips as host/announce host 5.3) make sure you put external ip in Bond form 6) if you cant find yourself in explorer, try to do it this way (as shown in picture):