Als je Solana gRPC Node.js gebruikt voor zeer grote hoeveelheden gegevens, kan dit een enkele CPU overbelasten. Als je systemen bouwt die alle transacties van drukke programma’s moeten verwerken of meerdere programma’s tegelijkertijd moeten volgen, kun je de volgende alternatieven met hoge prestaties overwegen:
-
Meerdere threads gebruiken. Node.js beschikt over twee modules:
cluster(meerdere processen, één thread per proces) enwerknemer(één proces, meerdere threads). Beide oplossingen lossen het probleem op dat een node één kern overbelast, maarclusteris eenvoudiger omdat elk proces in een afzonderlijk geheugengebied draait. Verdeel de Solana gRPC over meerdere instanties vanclusterofwerknemerom de belasting te verdelen. -
Solana gRPC gebruiken gRPC Rust (zie ook de handleidingSolana gRPC Rust’)
-
Solana gRPC gebruiken gRPC Go (zie ook de handleidingSolana gRPC Go’).
Overzicht
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.
To learn how to split your Solana gRPC-enabled URL into endpoint en 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.
Aanvullende bronnen
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.