Skip to main content

Module solana

Module solana 

Source
Expand description

Solana chain support.

Implements structured extraction of Solana blocks, transactions, token transfers, and account activity from JSON-RPC getBlock responses.

§Two Approaches

Custom extraction — implement Plugin::on_raw and parse raw JSON yourself:

use quicknode_cascade::solana::{Plugin, PluginFuture};

struct MyParser;
impl Plugin for MyParser {
    fn name(&self) -> &'static str { "my-parser" }
    fn on_raw<'a>(&'a self, slot: u64, raw: &'a serde_json::Value) -> PluginFuture<'a> {
        Box::pin(async move {
            // parse raw JSON however you need
            Ok(())
        })
    }
}

Built-in extraction — use Plugin::on_block, Plugin::on_transaction, etc. and let the framework extract structured data for you.

Both can be combined. extract_block() is also exposed as a public utility you can call from on_raw if you want the framework’s extraction as a starting point.

Modules§

prelude
Re-exports for convenience. use quicknode_cascade::solana::prelude::*;

Structs§

AccountActivityData
SOL balance change data passed to Plugin::on_account_activity.
BlockData
Block-level data passed to Plugin::on_block.
SlotExtract
All extracted data for a single slot.
TokenTransferData
Token balance change data passed to Plugin::on_token_transfer.
TransactionData
Transaction-level data passed to Plugin::on_transaction.

Traits§

Plugin
Observe Solana block and transaction events.

Functions§

extract_block
Extract structured data from a raw getBlock JSON-RPC response.

Type Aliases§

PluginFuture
The return type for all plugin hooks. A boxed async future that returns Result<(), Box<dyn Error>>. Use Box::pin(async move { ... }) to create one.