Official Dusk Node installer, an easy-to-use installer for running a Dusk node on the Nocturne testnet and the Lunare devnet.
For more information on how to participate, see the node running guide on our wiki.
- Operating System: Ubuntu 24.04 LTS x64
- Dependencies: OpenSSL 3, GLibc 2.38+
- Environment: Any compatible Linux environment (VPS, local, cloud instance)
The installer officially supports 24.04 LTS x64. While it has also been tested successfully on Ubuntu 24.10, official support is limited to the LTS version listed above. Compatibility with other versions may vary.
The installer comes with the following packages:
- Rusk service
- Rusk wallet CLI
The configuration files, binaries, services and scripts can be found in /opt/dusk/
.
The log files can be found in /var/log/rusk.log
and /var/log/rusk-recovery.log
.
ℹ️ To run the latest release of the Node Installer execute the following command:
curl --proto '=https' --tlsv1.2 -sSfL https://github.com/dusk-network/node-installer/releases/download/v0.4.0/node-installer.sh | sudo sh
By default, the installer runs the node for our Nocturne testnet. If you'd like to run a node for the Lunare devnet or mainnet, you can pass devnet
or mainnet
as an option during installation:
curl --proto '=https' --tlsv1.2 -sSfL https://github.com/dusk-network/node-installer/releases/download/v0.4.0/node-installer.sh | sudo sh -s devnet
curl --proto '=https' --tlsv1.2 -sSfL https://raw.githubusercontent.com/dusk-network/node-installer/main/node-installer.sh | sudo sh
The installer comes with sane defaults, only requiring minimal configuration. Before the Rusk service can be started, the CONSENSUS_KEYS
and DUSK_CONSENSUS_KEYS_PASS
need to be provided.
The CONSENSUS_KEYS
can be either moved to /opt/dusk/conf/
from another system or generated on the node itself and moved there.
To generate the provisioner keys locally, run rusk-wallet
and either create a new wallet or use a recovery phrase with rusk-wallet restore
.
To generate and export the provisioner key-pair and put the .keys
file in the right directory with the right name, copy the following command:
rusk-wallet export -d /opt/dusk/conf -n consensus.keys
Run the following command and it will prompt you to enter the password for the consensus keys file:
sh /opt/dusk/bin/setup_consensus_pwd.sh
To remove old Rusk state and the old wallet cache, simply run:
ruskreset
Everything should be configured now and the node is ready to run. Use the following commands:
service rusk start
Check the status of the Rusk service by running:
service rusk status
To check your installer version, run:
ruskquery version
If you're running an outdated version of the installer, it will warn you and ask you to upgrade.
To significantly reduce the time required to sync your node to the latest published state, you can use the download_state
command. This command stops your node and replaces its current state with the latest published state from one of Dusk's archival nodes.
To see the available published states, run:
download_state --list
-
Stop your node (if it's running):
service rusk stop
-
Execute the fast sync command.
download_state
If you want to sync up with a specific state instead of the default one, you need to pass the block height of the state you want to syncup with.
download_state 369876
Follow the prompts to confirm the operation.
-
Restart your node:
service rusk restart
This process will ensure your node is up-to-date with the latest blockchain state, allowing you to sync faster and get back to participating in the network in less time.
Note
If you are experiencing errors in downloading the state, it might be due to some remnants of previous state syncing. Try to clean up with sudo rm /tmp/state.tar.gz
Check if your node is syncing, processing and accepting new blocks:
tail -F /var/log/rusk.log | grep "block accepted"
To check the latest block height:
ruskquery block-height