Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

Solana Producers

Service for streaming Solana blockchain data from Yellowstone gRPC (Geyser) and publishing it to Kafka.

Features

  • High-throughput streaming using Yellowstone gRPC.
  • Supports multiple datasets: accounts, transactions, slots, etc.
  • Granular filtering by Program ID.
  • Built-in metrics server for Prometheus.
  • Batching and buffering for optimized Kafka publishing.

Configuration

Required and optional environment variables:

Variable Description Default
GRPC_ENDPOINT Yellowstone gRPC endpoint solana-yellowstone-grpc.publicnode.com:443
GRPC_AUTH_TOKEN Optional authentication token (None)
KAFKA_BROKERS Comma-separated list of Kafka brokers localhost:9092
COMMITMENT_LEVEL Solana commitment (processed, confirmed, finalized) confirmed
SOLANA_DATASETS Datasets to process (comma-separated) All
ACCOUNT_PROGRAMS Program IDs to filter account updates (None)
LOG_LEVEL Logging level info

Available Datasets

  • accounts: Account state updates.
  • account_audits: Historical account balance changes.
  • transactions: Full transaction data.
  • block_metadata: Block rewards and metadata.
  • slots: Slot status updates.
  • entries: Entry-level validation data.

Usage

Development

export GRPC_ENDPOINT="your-endpoint"
npm run dev

Production

npm run build
npm start

Metrics

Exposes Prometheus metrics on port 9090 (default) including message counts, buffer sizes, and error rates.