Skip to main content

Module stream

Module stream 

Source
Expand description

WebSocket Stream API for real-time data subscriptions

This module provides real-time streaming capabilities using the Centrifuge protocol.

§Example

use chainstream_sdk::stream::{StreamApi, TokenCandle};

#[tokio::main]
async fn main() {
    let api = StreamApi::new(
        "wss://realtime-dex.chainstream.io/connection/websocket",
        "your-access-token",
    );

    // Connect to the WebSocket server
    api.connect().await.unwrap();

    // Subscribe to token candles
    let unsub = api.subscribe_token_candles(
        "sol",
        "So11111111111111111111111111111111111111112",
        "1s",
        |candle: TokenCandle| {
            println!("Candle: {:?}", candle);
        },
        None,
    ).await.unwrap();

    // Later: unsubscribe
    // unsub.unsubscribe();
}

Re-exports§

pub use crate::openapi::types::Resolution;

Structs§

DexPoolBalance
DEX pool balance data
DexProtocol
DEX protocol information
NewToken
New token data
RankingTokenList
Ranking token list data
SocialMedia
Social media links
StreamApi
Stream API client for real-time data subscriptions
TokenActivity
Token activity data
TokenBondingCurve
Token bonding curve data
TokenCandle
Token candlestick data
TokenHolder
Token holder information
TokenLiquidity
Token liquidity data
TokenMaxLiquidity
Token max liquidity data (max liquidity in a single pool)
TokenMetadata
Token metadata
TokenStat
Token statistics with multi-timeframe data
TokenSupply
Token supply data
TokenTotalLiquidity
Token total liquidity data (total liquidity across all pools)
TradeActivity
Trade activity data
Unsubscribe
Unsubscribe handle
WalletBalance
Wallet balance data
WalletPnl
Wallet profit and loss data
WalletTokenPnl
Wallet token profit and loss data

Enums§

ChannelType
Channel type for subscriptions
Dex
DEX (Decentralized Exchange) type
MetricType
Metric type for measurements
RankingType
Ranking type for token rankings
TokenActivityType
Token activity type

Functions§

get_available_fields
Get available field names for a specific subscription method
get_field_mappings
Get field mappings for a specific subscription method
replace_filter_fields
Replace long field names with short field names in filter expressions Automatically adds meta. prefix if not present

Type Aliases§

StreamCallback
Callback type for stream subscriptions