Zum Hauptinhalt springen

Making Solana gRPC Requests with TypeScript

Aktualisiert am
Sep 03, 2026
Leistungsaspekte bei Streams mit hohem Datenaufkommen

Bei der Verwendung Solana gRPC Node.js für sehr große Datenmengen kann es vorkommen, dass eine einzelne CPU überlastet wird. Wenn Sie Systeme entwickeln, die alle Transaktionen aus stark ausgelasteten Programmen verarbeiten oder mehrere Programme gleichzeitig überwachen müssen, sollten Sie die folgenden leistungsstarken Alternativen in Betracht ziehen:

  • Verwendung mehrerer Threads. Node.js verfügt über zwei Module: Cluster (Mehrprozessbetrieb, ein Thread pro Prozess) und Arbeitnehmer (ein Prozess, mehrere Threads). Beides löst das Problem, dass ein Knoten einen einzelnen Kern überlastet, aber Cluster ist einfacher, da jeder Prozess speicherisoliert ist. Verteilen Sie die Solana gRPC auf mehrere Instanzen von Cluster oder Arbeitnehmer um die Last zu verteilen.

  • Verwendung von Solana gRPC Rust (siehe auch Anleitung zuSolana gRPC Rust)

  • Verwendung von Solana gRPC Go (siehe auch die Anleitung zuSolana gRPC Go).

Übersicht

TypeScript is a strongly-typed superset of JavaScript, offering improved developer experience and tooling support. This document provides a step-by-step process for setting up a TypeScript environment for interacting with Solana gRPC (Yellowstone-compatible Geyser gRPC), including setting up a project, configuring dependencies, and implementing authentication mechanisms.

Authentication Required for TypeScript

Creates a client in order to communicate with Solana gRPC. It uses an endpoint URL and an authentication token for secure access.

import Client from '@triton-one/yellowstone-grpc';

// For HTTP Provider URL: https://example-guide-demo.solana-mainnet.quiknode.pro/123456789/

const ENDPOINT = 'https://example-guide-demo.solana-mainnet.quiknode.pro:443';
const TOKEN = '123456789';
const client = new Client(ENDPOINT, TOKEN, {
grpcDefaultCompressionAlgorithm: 0, // 0 = gzip, 1 = zstd
});
await client.connect();

The token passed to the Client constructor is sent as the x-Token metadata header on every request.

gzip and zstd are selected with the grpcDefaultCompressionAlgorithm channel option. See Compression for per-language configuration.


Note:

To learn how to split your Solana gRPC-enabled URL into endpoint und Token, refer to this section - Endpoint and Token Configuration

Setting up TypeScript

To run our TypeScript code examples, you'll need to have Node.js installed, as TypeScript is built on top of JavaScript. Ensure you also have TypeScript installed globally by running:

npm install -g typescript

Install Yellowstone gRPC Node Package

npm install @triton-one/yellowstone-grpc

These examples target grpc v7.0.1 or later.

Weitere Ressourcen

For more information about working with Solana gRPC in TypeScript, refer to Monitor Solana Programs with Solana gRPC (TypeScript). This guide provides an in-depth overview of setting up gRPC endpoints, managing authentication tokens, and understanding key concepts like commitment levels.