Solana ingestion, streaming, RPC, and observability workspace built around faststreams encoding.
cargo build --releasecargo testcargo clippy --workspace --all-targets --all-featurescargo fmt
- Defines
Recordenums for account, transaction, block, and slot updates. - Encodes frames with a fixed 12-byte header, optional LZ4 compression, and optional
rkyvarchives. - Provides decode helpers, vectored write utilities, and batching helpers.
- Tech:
serde,bincode::Options,lz4_flex,smallvec,std::sync::atomic, optionalrkyv+bytecheck. - Benchmark target:
cargo bench -p faststreams encode_decode.
cdylibimplementing the Agave Geyser plugin interface.- Converts replica updates into
faststreamsframes and writes them to sharded Unix socket queues. - Queue size, backpressure policy, batching, CPU affinity, and metrics endpoint come from JSON (see
ops/geyser-plugin-ultra.json). - Exports counters via
metrics/Prometheus when enabled. - Tech:
agave-geyser-plugin-interface,solana-sdk,faststreams,crossbeam-queue,parking_lot,socket2,metrics+metrics-exporter-prometheus,nix,libc,tracing.
- Tokio service that reads
faststreamsframes from Unix sockets. - Emits JSON to stdout and can send decoded records to Kafka when built with
--features kafka. - Rejects oversize frames, tracks drops, and updates Prometheus gauges.
- Config file example:
crates/ultra-aggregator/configs/aggregator.json. - Tech:
tokio,faststreams,serde_json,metrics,metrics-exporter-prometheus,socket2,bs58, optionalrkyv, optionalrdkafka,tracing,bytes.
- Library that exposes
launch_serverreturningUltraRpcServerHandle. - Loads an initial snapshot stream, applies delta stream updates, and keeps an account cache.
- Uses a configurable scheduler (
UltraRpcConfig) to batch QUIC JSON-RPC requests. - Serves
/metricsover HTTP and shuts down via the handle. - Tech:
quinnfor QUIC transport, self-signed certs viarcgen, JSON parsing withsimd-json, async runtimetokio, HTTP metrics viaaxum, tracing withtracing, metrics wiring intelemetrymodule.
- Axum HTTP proxy that forwards JSON-RPC requests to a Solana QUIC upstream using
QuicRpcClient. - Enforces request and response size limits, request timeout, hedged attempts, and optional 0-RTT.
- Config is supplied via CLI or TOML (
ops/solana-quic-proxy.toml). - Metrics endpoint at
/metrics. - Tech:
axum,tokio,quinn,rustls-native-certs,tower-httptracing,arc-swapfor connection state,metrics/Prometheus,serde_json,clapCLI.
- CLI daemon that scrapes validator gossip, QUIC, RPC, and optional eBPF telemetry feeds.
- Maintains per-validator state, exposes Prometheus metrics, and renders a flamegraph view.
- Sends webhook alerts on slot lag when configured; can export a Grafana dashboard JSON.
- Configuration uses TOML (
ops/solana-validator-observer.example.toml). - Tech:
tokio,reqwest(Rustls TLS),axum+towerfor HTTP,prometheus,pprofflamegraph output, optionalayaeBPF integration,dashmap,serde_with,clap,tracing.
- Yellowstone gRPC client that subscribes to updates and re-encodes them with
faststreams. - Writes frames to Unix sockets or SPSC queues with backpressure handling.
- Keeps a dead-letter queue for oversize frames and emits Prometheus metrics.
- Uses buffer pools to reuse allocations.
- Tech:
tokio,yellowstone-grpc-client+tonictransport,faststreams,crossbeam-channel,crossbeam-queue,event-listener,metrics,socket2,bs58,tracing.
- Library wrapping
SearcherServiceClientwith retry logic, optional gzip, and bearer auth. - Functions include
send_bundle,get_tip_accounts, andsubscribe_bundle_results_stream. - Builder exposes connect timeout, HTTP/2 window sizes, keepalive, and retry backoff knobs.
- Binary
jito-bundlesubmits bundles from CLI input. - Tech:
tonicgRPC,prostgenerated types,http::Uri,tokioruntime,tokio-stream,futures-util,CompressionEncoding::Gzip, TLS viatonic::transport::ClientTlsConfig,thiserror,tracing.
- Harness that starts
solana-ultra-rpc, drives load viawrk/wrk-quic, and stores run artifacts. - Controls server args/env, warmup, cooldown, and per-iteration JSON exports.
cargo run -p ultra-rpc-bench --bin uds_burst_soakruns the Unix socket burst/soak generator.- Tech:
tokiosubprocess management,clapCLI,humantimeparsing,serde_jsonreporting,faststreamsfor frame generation,tracinglogging.
ops/directory stores example deployment configs for the plugin, proxy, and observer.ultra-aggregator.serviceis a systemd unit file for running the aggregator.
cargo fmtcargo clippy --workspace --all-targets --all-featurescargo test --workspace