OrbitFlare Jetstream is currently in beta. Breaking changes may be introduced in future versions as we continue to improve the service.

Overview

OrbitFlare Jetstream is a high-performance gRPC service that enables real-time streaming of Solana transactions. It provides developers with a reliable and efficient way to monitor and process Solana blockchain transactions with minimal latency.

Features

  • Real-time transaction streaming via gRPC
  • Flexible transaction filtering capabilities
  • Account-based filtering (include, exclude, required)
  • High throughput and low latency
  • Robust error handling and reconnection
  • Simple integration with existing Solana applications

Getting Started

Installation

To get started with OrbitFlare Jetstream, you can use our example client implementation. Clone the repository:

git clone https://github.com/orbitflare/jetstream-client-example
cd jetstream-client-example

Build the client:

cargo build --release

Basic Usage

Run the client with default settings:

./target/release/jetstream-client-example

Connect to a custom JetStream gRPC endpoint:

./target/release/jetstream-client-example -j http://fra.jetstream.orbitflare.com

Transaction Filtering

OrbitFlare Jetstream supports various filtering options to help you focus on relevant transactions:

  1. Command-line Filtering:
# Include specific accounts
./target/release/jetstream-client-example -i <pubkey1>,<pubkey2>

# Exclude accounts
./target/release/jetstream-client-example -e <pubkey1>,<pubkey2>

# Required accounts
./target/release/jetstream-client-example -r <pubkey1>,<pubkey2>
  1. JSON Configuration: Create a filters.json file:
{
  "filters": {
    "my-filter": {
      "account_include": ["pubkey1", "pubkey2"],
      "account_exclude": ["pubkey3"],
      "account_required": ["pubkey4"]
    }
  }
}

Apply the JSON configuration:

./target/release/jetstream-client-example -f filters.json

Configuration Options

OptionDescriptionExample
--jetstream-grpc-urlJetStream gRPC endpoint URLhttp://fra.jetstream.orbitflare.com
--filter-config-pathPath to JSON filter configurationNone
--include-accountsAccounts to include (comma-separated)None
--exclude-accountsAccounts to exclude (comma-separated)None
--required-accountsRequired accounts (comma-separated)None

Logging

Control the logging level using the RUST_LOG environment variable:

RUST_LOG=debug ./target/release/jetstream-client-example

Best Practices

  1. Error Handling: Implement proper error handling for connection issues and transaction processing
  2. Filtering: Use account filters to reduce unnecessary data processing
  3. Monitoring: Set appropriate logging levels for monitoring and debugging
  4. Resource Management: Properly manage gRPC connections and resources

Support

For technical support or questions about OrbitFlare Jetstream, please contact our support team or visit our GitHub repository for more information.