solana-tpu-tools-common
Shared building blocks for Solana TPU tools.
This crate is used by solana-transaction-bench and solana-rate-latency-tool for common tasks
around payer account management, blockhash refresh, command-line parsing, and TPU leader tracking.
Most users should run the binaries directly. Use this crate when building a related TPU tool that needs the same account setup or leader-tracking behavior.
What This Crate Provides
accounts_file: read and write payer account files, create ephemeral payer accounts, and create file-persisted payer accounts.accounts_creator: RPC-backed payer account creation with balance checks, airdrop support, batching, and partial-result persistence on failure.cli: shared Clap argument structs and parsers for account options, account files, URLs, durations, balances, and leader tracker selection.blockhash_updater: an async task that polls RPC for fresh blockhashes and publishes them through atokio::sync::watchchannel.leader_updater: a factory and traits for pinned, legacy websocket, websocket node-address-service, Yellowstone, and custom UDP/Geyser leader tracking.yellowstone_leader_tracker: a Yellowstone gRPC slot-event adapter forsolana-tpu-client-nextleader tracking.
Example
use ;
async
Stability
This crate follows the release cadence of the TPU tools workspace. APIs may change as
solana-tpu-client-next, Yellowstone gRPC, and Solana/Agave release candidate dependencies evolve.
License
Apache-2.0