This section walks you through the process of setting up and running a HydraDX node.
Running a validator node requires a certain technical skillset needed for the proper setup of the node, and for guaranteeing its uptime. If you are not sure what you are doing here, we recommend that you nominate your HDX to an experienced validator instead. By doing so, you protect yourself and your nominators against an involuntary loss of funds.
The following technical specifications are required as a minimum for running a HydraDX validator node:
- OS: Ubuntu 20.04
- CPU: Intel Core i7-7700K @ 4.5Ghz (or equivalent single core performance)
- Memory: 64GB RAM
- Storage: NVMe SSD with a capacity of at least 200GB (the data footprint will grow over time)
These are the minimum technical requirements which have been verified by the team. Want to make sure that your machine has sufficient resources to run a node? Run a performance benchmark to find out.
Before running a node, you should make sure that your system clock is synchronized - this is important because validators work together. On Ubuntu 20.04 the system clock should be synchronized by default. To verify, run the following command and check the output:
If the output is different, then you can install NTP manually and verify again that your system clock is synchronized:
30333 is used for peer-to-peer connections with other nodes. If you are running the node as a validator, we recommend that you set up a firewall and configure to expose only this port for remote connections.
If you are not running the node as a validator, you can also consider exposing
9944 (for RPC websocket connections with external apps) and
9933 (for HTTP requests to your node). You can use port
9944 to connect to your node with Polkadot/apps.
You can download a binary of our latest release on github.
Alternatively, you can build the binary from source:
If you built the binary following the steps above, the path to your binary is:
You can run the binary by executing the following command:
Validator nodes require the whole chain database. If you ran the node before without the
--validator flag, you will need to resync the database by purging the chain before launching the node.
Besides the path to your binary (see above), you need to specify a node name which will be used to identify your node in Telemetry where you can find a list of all nodes running on HydraDX Snakenet.
To make sure that your node is automatically started when your machine reboots, we recommend running the HydraDX node as a systemd process. To do so, create the following file and insert the content while replacing the variables indicated as
Setting RestartSec is recommended because it delays the restart of the node in the case of a crash. This allows for any unpersisted data (such as consensus votes) to be written to the disk before the node is restarted. Restarting the node immediately after it has crashed can cause equivocation or double signing, eventually resulting in slashing.
After creating the configuration file you can interact with your HydraDX validator node as a system process:
Your HydraDX node is now configured and running!
You can now complete the last steps to start validating.