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:
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:
- 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>
- 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
| Option | Description | Example |
|---|
--jetstream-grpc-url | JetStream gRPC endpoint URL | http://fra.jetstream.orbitflare.com |
--filter-config-path | Path to JSON filter configuration | None |
--include-accounts | Accounts to include (comma-separated) | None |
--exclude-accounts | Accounts to exclude (comma-separated) | None |
--required-accounts | Required 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
- Error Handling: Implement proper error handling for connection issues and transaction processing
- Filtering: Use account filters to reduce unnecessary data processing
- Monitoring: Set appropriate logging levels for monitoring and debugging
- 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.