FAQ
Basics
Section titled “Basics”Which operating system is recommended?
Section titled “Which operating system is recommended?”Ubuntu 24.04 LTS.
Which node should I run to participate in consensus?
Section titled “Which node should I run to participate in consensus?”Run a Provisioner node.
Which ports does Dusk use?
Section titled “Which ports does Dusk use?”9000/udp: Kadcast (required).8080/tcp: HTTP API (optional, but required if you want to query the node / expose RUES).
You can run on non-default ports as long as you configure them and allow inbound traffic.
How do I know if my node is on the correct chain?
Section titled “How do I know if my node is on the correct chain?”Run ruskquery info and check the chain ID.
How many blocks are there in one epoch?
Section titled “How many blocks are there in one epoch?”2160 blocks.
Can I run a node without staking?
Section titled “Can I run a node without staking?”Yes. You can run a node for syncing, propagation, and APIs without staking, but it will not participate in consensus or earn rewards.
Staking
Section titled “Staking”What is the minimum amount of DUSK I must stake?
Section titled “What is the minimum amount of DUSK I must stake?”1000 DUSK.
When does my stake become active?
Section titled “When does my stake become active?”At the epoch boundary after the next one, between roughly 1 and 2 epochs after the staking transaction. Check stake active from block with rusk-wallet stake-info. See Staking on Dusk.
How do I increase stake or compound rewards?
Section titled “How do I increase stake or compound rewards?”See /learn/guides/staking-basics#adding-to-an-existing-stake.
Keys and Recovery
Section titled “Keys and Recovery”Are my keys secure on a server/VPS?
Section titled “Are my keys secure on a server/VPS?”Wallet data is stored encrypted at rest, but you should still treat the node as a hot environment:
- Keep your mnemonic backed up offline.
- Consider using a separate owner key (
rusk-wallet stake --owner ...) so the consensus key cannot unstake/withdraw. - Restrict access (firewall, SSH keys only, minimal users, patching).
Can I store keys separately from the machine running the node?
Section titled “Can I store keys separately from the machine running the node?”Yes. The node only needs the consensus key file (consensus.keys). Export it from a wallet instance and copy it to the node. See /operator/guides/node-wallet-setup#export-consensus-key.
Example (adjust user/IP):
scp consensus.keys duskadmin@<node-ip>:~/consensus.keysssh duskadmin@<node-ip> \ 'sudo install -o root -g dusk -m 640 ~/consensus.keys /opt/dusk/conf/consensus.keys && rm -f ~/consensus.keys'What if I lose access to my server or keys?
Section titled “What if I lose access to my server or keys?”If you still have your mnemonic, you can restore the wallet on a new machine, re-export consensus.keys, and continue. You do not need to stake again.
Common Tasks
Section titled “Common Tasks”How can I stake 3000 DUSK?
Section titled “How can I stake 3000 DUSK?”rusk-wallet stake --amt 3000How can I recover my node if the state is corrupted?
Section titled “How can I recover my node if the state is corrupted?”For a default mainnet or testnet node, reload from a snapshot and restart:
sudo download_statesudo systemctl start ruskFor an archive node that requires complete history, follow the archive-specific re-sync guidance.
How can I run a Dusk node on Docker?
Section titled “How can I run a Dusk node on Docker?”We don’t support a production-ready Docker image. For ephemeral (non-persistent) usage:
docker run -p 9000:9000/udp -p 8080:8080/tcp dusknetwork/nodeHow do I configure Kadcast to use a port other than 9000/udp?
Section titled “How do I configure Kadcast to use a port other than 9000/udp?”If you’re using the node installer, set overrides in /opt/dusk/services/rusk.conf.user:
KADCAST_PUBLIC_ADDRESS=<MY_WAN_IPV4>:<NEW_PORT># Optional (common behind NAT)KADCAST_LISTEN_ADDRESS=<MY_LAN_IPV4>:<NEW_PORT>Without the node installer, configure rusk.toml:
[kadcast]public_address = "<MY_WAN_IPV4>:<NEW_PORT>"listen_address = "<MY_LAN_IPV4>:<NEW_PORT>" # OptionalRetain the bootstrapping nodes supplied for the selected network.
How do I change the HTTP API port?
Section titled “How do I change the HTTP API port?”In rusk.toml:
[http]listen = truelisten_address = "127.0.0.1:8081"The installer regenerates rusk.toml during upgrades, so review and reapply this setting afterward. Bind an external interface only when required, and restrict public API traffic.
How can I get data from testnet or mainnet nodes?
Section titled “How can I get data from testnet or mainnet nodes?”See /developer/integrations/http-api and /developer/integrations/historical_events.
How can I perform a liveness check on my node?
Section titled “How can I perform a liveness check on my node?”ruskquery block-height(should increase over time)ruskquery peerssystemctl is-active ruskruskquery info
See Maintain and monitor a node for network-tip comparison, resources, logs, and alerts.