Skip to main content
Runs the validator. This command does not exit until the validator does, and an error in running the validator will be propagated to the exit code of the process.

Usage

fdctl run --config <path>

Arguments

--config
string
required
Path to a configuration TOML file to run the validator with

Output

The command writes an abbreviated log output to stderr and nothing will be written to stdout.

Example

sudo fdctl run --config /home/firedancer/config.toml

Running with Capabilities

It is suggested to run this command as sudo, but the command can also be run with specific Linux capabilities instead of full root privileges.

Required Capabilities

Reason: Call socket(2) to bind to a raw socket for use by XDPRequired for network packet processing using XDP (eXpress Data Path).
Reason: Call bpf(2) with the BPF_OBJ_GET command to initialize XDPRequired for loading and managing BPF programs used by XDP.
Reason: Call unshare(2) with CLONE_NEWUSER to sandbox the process in a user namespaceOnly required on kernels which restrict unprivileged user namespaces.
Reason: Call setresuid(2) to switch uid to the sandbox userNot required if the UID is already the same as the sandbox UID.
Reason: Call setresgid(2) to switch gid to the sandbox userNot required if the GID is already the same as the sandbox GID.
Reason: Call rlimit(2) to increase RLIMIT_MEMLOCK so all memory can be locked with mlock(2)Not required if the process already has a high enough limit.
Reason: Call setpriority(2) to increase thread prioritiesNot required if the process already has a nice value of -19.
Reason: Call rlimit(2) to increase RLIMIT_NOFILE to allow more open files for AgaveNot required if the resource limit is already high enough.
Reason: Call bind(2) to bind to a privileged port for serving metricsOnly required if the bind port is below 1024.

Prerequisites

Before running the validator, ensure you have:
  1. Configured the operating system using fdctl configure init
  2. Created a valid configuration file with all required settings
  3. Generated or imported identity keys for the validator
The validator requires significant system resources and proper OS configuration. Make sure to run fdctl configure init before attempting to start the validator.

Build docs developers (and LLMs) love