Troubleshooting
Troubleshooting HOPR node issues
How to check if my node is working correctly?
Every HOPRd node comes with the Node API Swagger UI, a web page where you can send requests to your node and see its answers.
-
Open the Swagger UI
In your browser, go to:
http://<NODE_IP>:<API_PORT>/swagger-ui/<NODE_IP>: the IP address of the machine your node runs on. If the node runs on the same computer as your browser, uselocalhost.<API_PORT>: your node's API port. The default is3001.- Docker: the first port in
-p 3001:3001in your Docker command. - Docker Compose:
HOPRD_API_PORTin your.envfile.
- Docker: the first port in
Example:
http://192.168.1.50:3001/swagger-ui/noteIf the page doesn't load, make sure your node is running and that your server's firewall allows connections to the API port from your computer.
-
Authorize with your API token
- Click Authorize at the top right of the page.
- In the api_token (apiKey) field, enter your API token and click Authorize, then Close.
Your API token is:
- Docker:
api.authin~/hoprd/hoprd-docker.cfg.yaml. - Docker Compose:
HOPRD_API_TOKENin your.env-secretsfile.
-
Run a request
Click a request to expand it, click Try it out, then click Execute. The answer appears under Response body.
If you get a
401response, your API token is wrong. Repeat step 2. -
Check the results
Run these requests and compare the results:
Section Request Field Expected value Node GET …/node/statusoverallReady. If it showsInitializing, your node is still syncing. Wait a few minutes and run it again.Node GET …/node/version(response) The latest version on the Releases page. Node GET …/node/infohoprNodeSafeYour Safe address. If you migrated, your new Safe. If it shows your old Safe, your node uses the wrong hopr.safe_module.safe_address.Node GET …/node/infochainStatusReadyNode GET …/node/infoconnectivityStatusGreenorYellow.Orangemeans only minimal connectivity,Redmeans not connected.Node GET …/node/infoannouncedAddressYour public IP and P2P port, for example /ip4/1.2.3.4/tcp/9091.Account GET …/account/addressesnativeYour node address. If you migrated, the same address you had on v3.0.x. If it's different, your node didn't load your backed-up identity file. Account GET …/account/balancesnativeAt least 0.01 xDaiAccount GET …/account/balancessafeHoprThe wxHOPRin your Safe. If you migrated, thewxHOPRyou moved to your new Safe.Account GET …/account/balancessafeHoprAllowanceMore than 0 wxHOPR. -
Check that your node appears in the network dashboard
Go to the HOPR Network Dashboard and enter your node address in Search Node. Use the
nativevalue fromGET …/account/addressesin step 4. Your node should be listed, with Last Seen showing Online. If it isn't listed yet, wait a few minutes and search again.
If all values match and your node appears in the dashboard, your node is working correctly.
How can I verify if Cover Traffic is being relayed through my node(s) and if I'm receiving rewards?
On the Piz Palu network, Cover Traffic doesn't depend on your stake. Five Cover Traffic nodes send short bursts of traffic through every eligible node, so each eligible node gets a burst about once every 20 minutes. Your node earns a ticket for every packet it relays, the same as for any other traffic. There is no APR and no fixed daily reward. For background, see Cover Traffic on HOPR Piz Palü.
The Cover Traffic nodes on Piz Palu are:
0x51624c828c175cc81d6a7dd22a9a30d68c6a1ae0
0xa64109ed980c902ac554662b9d569a6a3f71e7a7
0x02d7d9ca7788e674676f809ac984cbf59e4b6099
0x50eac8e328847e5389aabb267398386db7225644
0x991a376c646274d74adb3b25ccc292a775f352f1
The eligibility and burst settings below are the first values used on Piz Palu. They may change as the network grows.
-
Check that your node is running
Follow How to check if my node is working correctly?. Your node must appear in the network dashboard and show Online, because a Cover Traffic node skips nodes it can't reach.
-
Check that your node is eligible
Your node is eligible when it has at least 5 open outgoing payment channels, each with at least 100 wxHOPR. Your stake, your Safe balance and your location don't count.
In the Swagger UI, run
GET …/channelsand look at theoutgoinglist. Count the channels withstatusOpenand abalanceof100 wxHOPRor more.Keep at least 150 wxHOPR in each channel. When your node relays traffic, it pays the next node from its channel, so the balance drops over time and could fall below 100 wxHOPR. The default channel strategy doesn't fund your channels this high. To have your node keep them at about
150 wxHOPR, change your funding values as described in Fund your channels for Cover Traffic. -
Check that your node relays traffic and earns tickets
In the HOPR Network Dashboard, search for your node address. Last measured throughput and Throughput 24h avg. show the Cover Traffic your node relayed.
Then, in the Swagger UI, run
GET …/tickets/statistics:Field Expected value winningCountGoes up over time. Check again after an hour: your node gets a burst about every 20 minutes. unredeemedValueCan stay low, because your node redeems winning tickets as they arrive. neglectedValue0 wxHOPRrejectedValue0 wxHOPRWhether a ticket wins depends on the ticket winning probability, and its value depends on the ticket price. Both are still being tuned, so the number of winning tickets per burst can change.
-
Make sure your node can handle bursts
A burst lasts about 10 seconds at 30 Mbit/s, and bursts from different Cover Traffic nodes can arrive at the same time. A node that can't keep up drops packets and loses the tickets for them, and other nodes may close their channels to it.
The minimum for a relay node is 4 CPU cores, 4 GB of RAM and 5 GB of disk, with an uplink that handles 10 Mbit/s in both directions. Give your node some headroom above this, especially on a VPS.
A node that is eligible for Cover Traffic also relays real traffic, for example from Gnosis VPN, and earns tickets for it in the same way.
How to retrieve logs from your node?
- Docker
- Dappnode
-
Find your container ID
Connect to your machine and execute the command
docker ps. This will provide you with a list of Docker containers you are currently running. Among them, locate the container with the label europe-west3-docker.pkg.dev/hoprassociation/docker-images/hoprd:stable and note the container ID. -
Get the logs
Get the logs from the docker container using the following command:
docker logs -t <Your_Container_ID> >> <File_name.log>. Replace <Your_Container_ID> with your docker container ID. Replace <File_name.log> with your container ID and <File_name.log> with your chosen file name. After executing the command, wait until it finishes writing the logs to the file.Example:
docker logs -t 4951b2990936 >> logs_from_hopr_node.log
-
Connect to your Dappnode dashboard
-
Open the HOPR package logs page
Go to the HOPR package logs page.
-
Download the logs
On the right side, click the Download all button to download HOPR node logs.