Trying to set-up a nym-node in mixnode mode

Hello,

I am trying to set-up a nym-node in mixnode mode. I am planning to write a blog post about how to set-up such a node to explain it to a wider audience.

I get somewhere, but I am not sure if this is now working.

The IP address of my Ubuntu 24.04 VPS instance is 94.143.231.195 and it is a VPS S instance from here: https://avoro.eu/de/vps.

Its IPv6 address is 2a0d:5940:81:11::/64.

Originally, I started to create the binaries by compiling them from source and used the master branch as indicated in the documentation (v1.2.1).

I ran into some issues with it and later switched to the binary download Nym Binaries v2025.1-reeses that is a pre-release ahead of the master branch (v1.3.1).

You can have a look at the API endpoint here: http://94.143.231.195:8080/api/v1/swagger/#/.

Here is the output of curl -X 'GET' 'http://94.143.231.195:8080/api/v1/build-information' -H 'accept: application/json':


{

"binary_name": "nym-node",

"build_timestamp": "2025-01-16T11:54:17.079662337Z",

"build_version": "1.3.1",

"commit_sha": "5ab164d229f85bd2dd27ec6e38292c281df2f678",

"commit_timestamp": "2025-01-16T12:51:53.000000000+01:00",

"commit_branch": "HEAD",

"rustc_version": "1.84.0",

"rustc_channel": "stable",

"cargo_profile": "release",

"cargo_triple": "x86_64-unknown-linux-gnu"

}

And here is the output of curl -X 'GET' 'http://94.143.231.195:8080/api/v1/description' -H 'accept: application/json':


{

"moniker": "",

"website": "",

"security_contact": "",

"details": ""

}

I orignally followed the VPS Configuration with the ufw set-up, but noticed that later running the network_tunnel_manager.sh (or here) caused the deinstallation of the ufw package.

I configured my node via:


nym-node run --init-only --write-changes --mode mixnode --public-ips "94.143.231.195" --hostname "weisser-zwerg-nym-node.duckdns.org" --http-bind-address 0.0.0.0:8080 --mixnet-bind-address 0.0.0.0:1789 --verloc-bind-address 0.0.0.0:1790 --location DE --wireguard-enabled true --expose-system-hardware false --expose-system-info false

In addition I modified the announce_port settings in ~/.nym/nym-nodes/default-nym-node/config/config.toml to announce_port = 1789 for the mixnet section and to announce_port = 1790 for the verloc section.

Just as a side remark: what does this verloc do and is it necessary?

Then I run the node via:


nym-node run --mode mixnode --public-ips "94.143.231.195" --hostname "weisser-zwerg-nym-node.duckdns.org" --http-bind-address 0.0.0.0:8080 --mixnet-bind-address 0.0.0.0:1789 --verloc-bind-address 0.0.0.0:1790 --location DE --wireguard-enabled true --expose-system-hardware false --expose-system-info false --accept-operator-terms-and-conditions

Running curl -X 'GET' 'http://94.143.231.195:8080/api/v1/auxiliary-details' -H 'accept: application/json' gives:


{

"location": "DE",

"announce_ports": {

"verloc_port": 1790,

"mix_port": 1789

},

"accepted_operator_terms_and_conditions": true

}

There is only a single err when starting the node:


2025-01-19T12:42:32.150873Z ERROR gateway/src/node/mod.rs:197: this gateway (n1t37ajkn703defjhh569r6ey6xhjk3txv29l4vg) has insufficient balance for possible zk-nym redemption transaction fees. it only has 0unym available.

Running nym-node bonding-information gives:


Identity Key: E67dRcrMNsEpNvRAxvFTkvMyqigTYpRWUYYPm25rDuGQ

Host: weisser-zwerg-nym-node.duckdns.org

Custom HTTP Port: you might want to set it if your node won't be accessible on any of the ports: 80/443/8080

You can find my bonding transaction here: 333C6303FD528D7FD54EE969BBE4E54A259BB3608BBFEC228C8D1448D595A323. And my wallet address is n127c69pasr35p76amfczemusnutr8mtw78s8xl7.

I get log messages like the following, which seem to indicate that the node is doing its job:


2025-01-19T12:54:25.705335Z INFO nym-node/src/node/metrics/console_logger.rs:93: ↑↓ Packets sent [total] / sent [acks] / received [mix] / received [gw]: 5.7k (8.8/s) / 2.8k (4.5/s) / 0 (0/d) / 5.6k (8.9/s)

But I cannot find it in the harbourmaster or the mainnet network explorer neither when looking for my identity key: E67dRcrMNsEpNvRAxvFTkvMyqigTYpRWUYYPm25rDuGQ nor when looking for my owner account: n127c69pasr35p76amfczemusnutr8mtw78s8xl7. Also in the wallet under ‘Check more stats of your node on the explorer’ I get a 404 This page could not be found.

Is my node now working or not? And if it is not working, how can I analyse and fix the problem?

Other questions I have, but I simply might not have looked hard enough in the documentation is what the values Amount, Operating cost and Profit margin mean and what are good values to use?

And if I would change my mind and would want to change these values, how could I do that? Do I need to “unbond” and “rebond”?

Thanks a lot!

Christian

Welcome to the Nym Forum!

@serinko can you please look into this one?

Hello.
It seems that everything is correct. In case you running in a mixnode mode, you don’t have to worry about it as the balance needed is only for gateway modes.

You can read more about it here, what is the client account balance and why it’s needed. Bonding Nym Node - Nym docs

Thank you for the quick response. Why can’t I find the node in the harbourmaster or the mainnet network explorer? Is there a way to be “certain” that the node is now working as expected?

You definitely should find the node in Harbourmaster and in the explorer. The explorer is under maintanance - we are working on a new one - and there is a community one, which is widely used by the operators here:

To your question on verloc - we are just implementing it now.

Now you can self-compile from master as we switched to the latest this morning, We didn’t want to do it before the weekend.

Thank you very much for that tip! I can now see my node:

But I still cannot find it in harbourmaster?? I tried via different search criteria. Would you be sone kind to check this yourself and let me know if I am doing something wrong? Thanks!!

I have compared my node:


With somebody elses node:

Compared to this other node my node is marked as “inactive” at the very top and I cannot use the ID: 2196 of my node to get information about my node in the harbourmaster, while the ID: 708 of the other node is available in the harbourmaster: Nym Harbour Master

What does this “inactive” mean and how can I make my node “active” then?

Thanks!

As promised I’ve summarized by experience in setting up a nym-node in a blog post here: Nym Mixnet: Operating Your Own Nym-Node

I would appreciate if you let me know about errors or improvements.

Hello. Can you please tell me if you managed to solve the problem with the node not active?
I am also running my node and I am facing the same situation - my node is marked as inactive. Also, like you, I don’t see my node in Harbourmaster but I do see it in Specter

My Node in Spectre

I see that your node is still inactive. I am in the same situation. I think I have done all the settings correctly, but my node is still not active.

Any tips or ideas on how to solve this?

My Swagger node info

In the operators matrix chat @serinko replied: “Active is whether it was chosen to the active set”. My understanding is that from time to time the “active set” is randomly chosen among the available nodes.