Bonding Nym Node
To you unbond your Nym Node means you are leaving Nym network and you will lose all your delegations (permanently). You can join again with the same identity key, however, you will start with no delegations.
Nym Mixnet operators are rewarded for their work every epoch (60 minutes). To prevent centralisation, Nym API is ran by distributed validators on Nyx blockchain.
You are asked to sign
a transaction and bond your node to Nyx blockchain so that the Mixnet smart contract is able to map your nym address to your node. This allows us to create a nonce for each account and defend against replay attacks.
Before you bond your nym-node
make sure you went through all the previous steps
- Build or download
nym-node
binary - Configure VPS correctly
- Prepare Nym wallet
- Setup & Run the node
- Configure your node
Do not bond your node to the API if the previous steps weren't finished. Bad connectivity, closed ports, or other poor setup will result in your node getting blacklisted.
Any new bonded node will provide only the bare minimum information: host, identity key and optionally custom port of its HTTP API - we highly recommend to set that one up to 8080
. Everything else will be discovered via the self-described API for maximum flexibility. This also includes the sphinx key, meaning if the API is not exposed, the node will be unable to route any traffic.
Every operator has to make sure that their nodes self-described endpoint works, otherwise the node will be un-routable and thus won't get any rewards!
Bond via the Desktop wallet (recommended)
You can bond your nym-node
via the Desktop wallet.
1. Insert bonding information
- Open your wallet, and head to the
Bonding
page and click onBond
Button, and input your node details. PressNext
. - To find out your
nym-node
details, run this command in your VPS:
./nym-node bonding-information --id <ID>
- To get a correct host address, run this command in your VPS
echo "$(curl -4 https://ifconfig.me)"
2. Bond to correct HTTP port
- In your wallet: Open the box called
Show advanced options
and make sure that yourCustom HTTP port
is set correctly like in yourconfig.toml
. We strongly recommend to keep it on default8080
. For reference these are the ports used bynym-node
:
Node type | Port name | Correct port value |
---|---|---|
Mixnode | Mix port | 1789 |
Mixnode | Verloc port | 1790 |
Mixnode | HTTP api port (picture below) | 8080 |
Gateway (entry & exit) | Mix port | 1789 |
Gateway (entry & exit) | Client WS API port | 9000 |
- Use own
ID_KEY
, andHost
, which can be either your IPv4 address or hostname:
3. Enter your values and sign with your node
- Enter the
Amount
,Operating cost
andProfit margin
and pressNext
If you are part of Nym Delegation Program (opens in a new tab) or Service Grants Program, make sure your values are within the rules (opens in a new tab) of the programs. Operators setting up larger OP or PM than defined in the rules will be excluded from the program without prior warning!
- You will be asked to run a
sign
command with yournym-node
- copy and paste the long signature as the value of--contract-msg
and sing it on your VPS:
./nym-node sign --contract-msg <PAYLOAD_GENERATED_BY_THE_WALLET>
- Copy the resulting signature string and paste it into the wallet nodal, press
Next
and confirm the transaction:
# This is just an example, copy the one from your process
>>> The base58-encoded signature is:
2bbDJSmSo9r9qdamTNygY297nQTVRyQaxXURuomVcRd7EvG9oEC8uW8fvZZYnDeeC9iWyG9mAbX2K8rWEAxZBro1
This image is just an example, copy-paste your own base58-encoded signature
Your node will now be bonded and ready to receive traffic, latest at the beginning of the next epoch (at most 1 hour).
If everything worked, you'll see your node running on the either the Sandbox testnet network explorer (opens in a new tab) or the mainnet network explorer (opens in a new tab), depending on which environment you're running.
After migration to nym-node
in Mixnet smart contract, many explorers, includyng Nym explorers will not pick up value correctly. While we are working on Nym Explorer v2, we would like to invite operators to use Nym Harbourmaster (opens in a new tab) to track their nodes.
Change Settings via Desktop Wallet
In case you decide to change any settings like custom HTTP port
or your host
from an IP address to a hostname, don't forget to announce it to the API via changing these values in the desktop wallet.
- Go back to
Bonding
page, click onNym Node Settings
and change the values like in this example:
Migrate to nym-node
in Mixnet Smart Contract
From nym-wallet
version 1.2.15
onward the application allows and prompts operators to migrate their gateway or mixnode to a nym-node
in the Mixnet smart contract - an important step in project smoosh. To do so follow these steps:
1. Download the latest wallet from the release page (opens in a new tab)
2. Verify the binary and extract it if needed
- Download [
hashes.json
]https://github.com/nymtech/nym/releases/download/nym-wallet-v1.2.15/hashes.json (opens in a new tab) - Open it with your text editor or print it's content with
cat hashes.json
- Run
sha256sum <WALLET_BINARY>
for examplesha256sum ./nym-wallet_1.2.15_amd64.AppImage
- If your have to extract it (like
.tar.gz
) do it
3. Open the wallet and sign in
4. Migrate!
- Go to Bonding and you will be prompted with such message:
- In case you for some reason didn't see the prompt or you closed it - you can click in the upper right corner of the same window on this button:
- Confirm the transaction
5. Welcome to new episode of nym-node
!
Versions older than nym-wallet v 1.2.15
will not allow bonding new nodes.
Bond via the CLI (power users)
If you want to bond your Mix Node via the CLI, then check out the relevant section in the Nym CLI (opens in a new tab) docs.