Live
USD · 24h
Markets & Analysis

Deploying Firedancer on Solana

Jump Crypto's Firedancer validator client has reached mainnet beta deployment using Frankendancer to target 1 million TPS. This high-performance architecture utilizes C-based networking tiles and XDP integration to reduce Turbine retransmit latency to sub-millisecond levels.

Deploying Firedancer on Solana

Firedancer provides the most direct path to higher throughput. Jump Crypto’s Firedancer validator client now runs on mainnet in a non-voting mode. This deployment uses Frankendancer, which integrates Firedancer’s networking stack with Agave’s runtime and consensus code. This version targets 1 million TPS to increase network capacity. Firedancer is written in C, which provides code diversity against the primary Rust implementation. While the modular design improves performance, the hybrid nature of Frankendancer means it still relies on Agave’s code for execution. The architecture breaks logic into independent tiles that communicate via shared memory channels.

Component Validator Requirement
CPU 2.8GHz base clock, 12 cores/24 threads
RAM 512GB ECC memory
Disk PCIe Gen3 x4 NVMe SSD
NIC NVIDIA/Mellanox ConnectX-5/6

Validators require these specific hardware configurations to handle the high-throughput requirements of the Firedancer architecture. The system uses tiles like Signature Verification to validate Ed25519 digital signatures and a Pack tile to assign work to Bank tiles without using locks. The Deduplication tile consumes verified transaction output from the Verification tile via shared memory. The Proof of History implementation manages timing to prevent failures, while the Shred tile handles data distribution via the Turbine protocol.

Anza Labs manages the Agave client, which functions as a managed child process under Firedancer. Firedancer uses XDP to intercept packets before they reach the Agave QUIC stack, which reduces Turbine retransmit latency from 250ms to sub-millisecond levels. Anza engineers aim to reduce the current 400ms slot time to 200ms through the implementation of SIMD-0525, which will effectively double the number of blocks produced per second on the network. This improvement comes despite the fact that Agave’s Bank and Storage tiles lack the process isolation found in other Firedancer tiles. Because these Agave-based tiles share an address space, they create a potential weakness in the security model. Firedancer also introduces about 10 commit hooks into the Agave codebase to enable transaction execution calls from Firedancer into Agave’s runtime. These hooks allow for inter-process orchestration while keeping the Agave codebase independent. The XDP integration also enables 100 million compute unit blocks, which increases the current 60 million limit by 66%.

Jito’s MEV-optimized client runs on over 95% of active Solana stake. In October 2024, Jito captured $78.9 million in MEV fees. Jito’s governance token, JTO, has a market cap of $351 million with a circulating supply of 491 million tokens. The protocol manages $2.92 billion in total value locked, including 14.5 million SOL staked through JitoSOL. Jito charges a 4% annual management fee on total rewards. The Solana Foundation removed 32 validator operators from its delegation program because these operators facilitated economic attacks through private mempools that enabled sandwich attacks. In a sandwich attack, bots front-run and backfill trades. A Jito Foundation governance post indicates 10% of the JitoSOL pool is delegated to validators running private mempools. Jito’s JTX trading terminal directs 80% of protocol revenue to JTO holders through buybacks. Standard tip amounts for bundles range from 0.003 to 0.01 SOL. If you plan to participate in validator operations, you must account for the dominance of Jito’s infrastructure. This dominance means most block producers use Jito’s tooling to order transactions. Does the control of transaction ordering by a single client jeopardize the network?

Join the discussion

Leave a Reply

Your email address will not be published. Required fields are marked *