Shred Delivery and Sender are now live! Get earliest access to raw Solana data and optimized transaction sending. Learn about Shred Delivery | Learn about Sender
简体中文
高性能 SDK,用于 gRPC 流媒体,具有自动重播和零数据丢失功能
npm install helius-laserstream
import { subscribe, CommitmentLevel, LaserstreamConfig, SubscribeRequest } from 'helius-laserstream'; async function streamTransactions() { const config: LaserstreamConfig = { apiKey: 'YOUR_API_KEY', endpoint: 'https://laserstream-mainnet-ewr.helius-rpc.com', }; const request: SubscribeRequest = { transactions: { client: { accountInclude: ['JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4'], // Jupiter Program accountExclude: [], accountRequired: [], vote: false, failed: false } }, commitment: CommitmentLevel.CONFIRMED, accounts: {}, slots: {}, transactionsStatus: {}, blocks: {}, blocksMeta: {}, entry: {}, accountsDataSlice: [] }; // The SDK handles reconnection and replay automatically await subscribe(config, request, async (data) => { console.log('New transaction:', data); }, async (error) => { console.error('Error:', error); } ); } streamTransactions().catch(console.error);
[dependencies] helius-laserstream = "0.1" tokio = { version = "1", features = ["full"] }
use helius_laserstream::{subscribe, CommitmentLevel, LaserstreamConfig, SubscribeRequest}; use futures::StreamExt; #[tokio::main] async fn main() -> Result<(), Box<dyn std::error::Error>> { let config = LaserstreamConfig { api_key: "YOUR_API_KEY".to_string(), endpoint: "https://laserstream-mainnet-ewr.helius-rpc.com".to_string(), }; let request = SubscribeRequest { transactions: Some(TransactionsFilter { client: Some(TransactionFilter { account_include: vec!["JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4".to_string()], vote: false, failed: false, ..Default::default() }), }), commitment: CommitmentLevel::Confirmed, ..Default::default() }; let mut stream = subscribe(config, request).await?; while let Some(result) = stream.next().await { match result { Ok(data) => println!("New transaction: {:?}", data), Err(e) => eprintln!("Error: {:?}", e), } } Ok(()) }
go get github.com/helius-labs/laserstream-sdk/go
package main import ( "context" "fmt" "log" laserstream "github.com/helius-labs/laserstream-sdk/go" ) func main() { config := &laserstream.Config{ APIKey: "YOUR_API_KEY", Endpoint: "https://laserstream-mainnet-ewr.helius-rpc.com", } request := &laserstream.SubscribeRequest{ Transactions: &laserstream.TransactionsFilter{ Client: &laserstream.TransactionFilter{ AccountInclude: []string{"JUP6LkbZbjS1jKKwapdHNy74zcZ3tLUZoi5QNyVTaV4"}, Vote: false, Failed: false, }, }, Commitment: laserstream.CommitmentConfirmed, } ctx := context.Background() stream, err := laserstream.Subscribe(ctx, config, request) if err != nil { log.Fatal(err) } for data := range stream { if data.Error != nil { log.Printf("Error: %v", data.Error) continue } fmt.Printf("New transaction: %+v\n", data) } }
此页面对您有帮助吗?