Two-User Model
Firedancer uses a two-user security model:Startup User (Privileged)
The user that launches
fdctl — typically root or a user with specific capabilities:- Needs privileges to set up kernel bypass networking
- Required for
fdctl runandfdctl configurecommands - Should be
rootfor simplicity
System Initialization
Before running Firedancer for the first time, you must initialize system requirements.Initialize All Requirements
- Enable required Linux kernel features
- Configure huge pages
- Set up networking capabilities
- Configure system limits
- Create necessary directories with proper permissions
You will be shown what steps are performed. It is strongly recommended to run the
configure command when the system boots, as it needs to be run each time the system is rebooted.Advanced: Check Required Capabilities
To see which capabilities are required without being root:Starting the Validator
Once initialization is complete, start Firedancer:What Happens at Startup
Process spawning
Launches a complete process tree with separate processes for each tile (security isolation)
Process Architecture
Firedancer runs as a multi-process application. You can view the process tree:Each tile runs in a separate process for security isolation. If any process dies or is killed, it will bring all others down with it.
Logging
Firedancer produces two types of logs:Ephemeral Log (stderr)
- Abbreviated output for real-time monitoring
- Displayed in your terminal
- Can be colorized for better readability
Permanent Log (file)
- Detailed log for archival and debugging
- Written to file (location configured in TOML)
- More comprehensive than stderr output
Example Log Entry
Ephemeral (stderr):Networking with AF_XDP
Firedancer usesAF_XDP, a Linux API for high-performance networking:
- Installs an XDP program on the network interface specified in
[net.interface]andlo - Redirects traffic on Firedancer ports via
AF_XDP - Other applications (SSH, HTTP servers) continue to work normally
- XDP program is automatically unloaded when Firedancer exits
Supported Network Drivers
WhileAF_XDP works with any Ethernet interface, these drivers are well-tested:
ixgbe— Intel X540i40e— Intel X710 seriesice— Intel E800 series
Required Privileges
AF_XDP requires:
CAP_SYS_ADMINcapabilityCAP_NET_RAWcapability
Monitoring Your Validator
GUI Dashboard
Enable the built-in GUI for real-time monitoring:127.0.0.1:80. Access it in your browser:
Using Solana CLI
If you built thesolana binary, you can query your validator:
Stopping the Validator
To gracefully stop Firedancer:Troubleshooting
Validator Won’t Start
- Ensure you’ve run
fdctl configure init all - Verify your configuration file is valid TOML
- Check that identity and vote account keypairs exist
- Review logs for specific error messages
Network Connection Issues
- Verify gossip entrypoints are correct for your cluster
- Check firewall rules allow required ports
- Ensure network interface specified in config exists
- Verify network driver is compatible with
AF_XDP
Performance Issues
- Ensure CPU affinity settings don’t overlap
- Verify you have sufficient RAM
- Check disk I/O performance
- Review tile counts and adjust for your hardware
- Consider using tuned configurations from
src/app/fdctl/config/
Permission Errors
- Ensure you’re running as root or with required capabilities
- Verify the runtime user exists and has access to required paths
- Check that the runtime user is not root
- Confirm directory permissions are correct
Production Considerations
Running as a Service
For production deployments, consider running Firedancer as a systemd service for automatic restarts and better management.Monitoring
- Enable metrics reporting to track validator health
- Set up alerting for critical errors
- Monitor logs for warnings and errors
- Track validator performance metrics
Security
- Use a dedicated, unprivileged user for runtime
- Configure firewall rules to restrict access
- Set
private = truefor RPC if not needed publicly - Regularly update to latest stable releases
- Monitor security advisories
Next Steps
Your validator is now running! Consider:- Monitoring validator performance and health
- Joining the Firedancer community for support
- Reading advanced configuration guides
- Setting up automated backups of your keys