Firedancer-logo

Firedancer

Firedancer is a new validator client for Solana.

Solana
Infrastructure
Validator
Rust
C/C++
Maximum Bounty
$500,000
Live Since
18 September 2024
Last Updated
14 November 2024
  • PoC required

  • KYC required

Codebase

Title
Firedancer Codebase
Description
Github Codebase
Link
Go to Audits & Known Issues

The Firedancer codebase can be found at https://github.com/firedancer-io/firedancer/tree/main.

Documentation and further resources can be found on:

The Firedancer validator builds as a single binary: fdctl. All code and functionality linked and reachable by the main function of this binary is in scope, including from the primary run command, but also configure, monitor, and others. Bugs in linked but unreachable code (for example: cryptography implementations that are behind a development flag or library utility code that is never called) are in scope but are not exploitable and will be considered informational (aka insight reports).

The Firedancer repository contains code for two validators:

  • Firedancer v0.1, lovingly nicknamed “Frankendancer”, a split between Firedancer and the existing Agave validator written in Rust
  • A full C-only Firedancer, completely replacing the existing Agave validator.

The full Firedancer code is behind a development flag, and findings in code that is only reachable in full Firedancer will be considered informational (aka insight reports).

The Firedancer v0.1 validator interfaces with the existing Agave validator written in Rust via an FFI interface. This FFI interface and the modifications to Agave to support such FFI are in scope, but bugs in the Agave validator itself that would impact existing Solana validators should be reported to the Agave bug bounty and are not considered in scope for the contest.

The directory and file listing are provided to help navigate the codebase and determine what is in scope. The ground truth for scope and impact will follow the production binary.