
Firedancer
Firedancer is a new validator client for Solana.
PoC Required
KYC required
Codebase
The Firedancer codebase can be found at https://github.com/firedancer-io/firedancer/tree/main.
Documentation and further resources can be found on:
- Documentation: https://firedancer-io.github.io/firedancer/
- Technical education: Technical articles, ReadMe's, whitepaper, etc.
- https://github.com/firedancer-io/firedancer/blob/main/README.md
- https://github.com/firedancer-io/firedancer/blob/main/src/disco/README.md
- All header files contain sufficient documentation about each component's function
- Developer codebase walkthrough (recorded for the preceding contest): https://youtu.be/KJzZ5QApW2s
- Non-technical education: introductory videos, protocol summaries, FAQs, etc
- Solana Docs: https://solana.com/docs
- How to build and run a Node https://firedancer-io.github.io/firedancer/guide/getting-started.html
The full Firedancer implementation now exists as a separate binary, but only the Frankendancer validator fdctl
is in scope for this bug bounty program.
Findings that apply exclusively to the full Firedancer binary (i.e., code not used by Frankendancer or fdctl) will be treated as informational (insight reports) and are not eligible for bounty rewards.
The Firedancer repository contains code for two validators:
- The latest Firedancer mainnet release, 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 Frankendancer 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.