Usage
Arguments
Path to a configuration TOML file to run the validator with
Output
The command writes an abbreviated log output tostderr and nothing will be written to stdout.
Example
Running with Capabilities
It is suggested to run this command assudo, but the command can also be run with specific Linux capabilities instead of full root privileges.
Required Capabilities
CAP_NET_RAW
CAP_NET_RAW
Reason: Call
socket(2) to bind to a raw socket for use by XDPRequired for network packet processing using XDP (eXpress Data Path).CAP_SYS_ADMIN (BPF operations)
CAP_SYS_ADMIN (BPF operations)
Reason: Call
bpf(2) with the BPF_OBJ_GET command to initialize XDPRequired for loading and managing BPF programs used by XDP.CAP_SYS_ADMIN (User namespaces)
CAP_SYS_ADMIN (User namespaces)
Reason: Call
unshare(2) with CLONE_NEWUSER to sandbox the process in a user namespaceOnly required on kernels which restrict unprivileged user namespaces.CAP_SETUID
CAP_SETUID
Reason: Call
setresuid(2) to switch uid to the sandbox userNot required if the UID is already the same as the sandbox UID.CAP_SETGID
CAP_SETGID
Reason: Call
setresgid(2) to switch gid to the sandbox userNot required if the GID is already the same as the sandbox GID.CAP_SYS_RESOURCE (Memory locking)
CAP_SYS_RESOURCE (Memory locking)
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.CAP_SYS_RESOURCE (Thread priorities)
CAP_SYS_RESOURCE (Thread priorities)
Reason: Call
setpriority(2) to increase thread prioritiesNot required if the process already has a nice value of -19.CAP_SYS_RESOURCE (File descriptors)
CAP_SYS_RESOURCE (File descriptors)
Reason: Call
rlimit(2) to increase RLIMIT_NOFILE to allow more open files for AgaveNot required if the resource limit is already high enough.CAP_NET_BIND_SERVICE
CAP_NET_BIND_SERVICE
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:- Configured the operating system using
fdctl configure init - Created a valid configuration file with all required settings
- Generated or imported identity keys for the validator
Related Commands
- fdctl configure - Configure the operating system
- fdctl monitor - Monitor a running validator
- fdctl keys - Manage validator keys