Ir diretamente para o conteúdo principal

Making Solana gRPC Requests with TypeScript

Atualizado em
Sep 03, 2026
Considerações sobre o desempenho para Streams de dados de grande volume

Se utilizar Solana gRPC Node.js para grandes volumes de dados, é possível sobrecarregar uma única CPU. Se estiver a desenvolver sistemas que necessitem de processar todas as transações de programas com elevado volume de tráfego ou de monitorizar vários programas em simultâneo, considere as seguintes alternativas de alto desempenho:

  • Utilização de múltiplas threads. O Node.js dispõe de dois módulos: agrupamento (multiprocessos, uma thread por processo) e trabalhador (um único processo, várias threads). Qualquer uma destas opções resolverá o problema da sobrecarga de um único núcleo por parte do nó, mas agrupamento é mais simples, uma vez que cada processo está isolado em termos de memória. Divida asgRPC Solana entre várias instâncias de agrupamento ou trabalhador para distribuir a carga.

  • Utilizar Solana gRPC Rust (ver também o guiaSolana gRPC Rust»)

  • Utilização Solana gRPC Go (ver também o guiaSolana gRPC Go»).

Visão geral

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 e ficha, refer to this section - Configuração Endpoint do token

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.

Additional Resources

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.