Skip to main content

Making Yellowstone gRPC (Geyser Plugin) Requests with TypeScript

Updated on
Dec 13, 2024

Overview

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 Yellowstone gRPC, including setting up a project, configuring dependencies, and implementing authentication mechanisms.

Authentication Required for TypeScript

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

import { Client } from '@rpcpool/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:10000';
const TOKEN = '123456789';
const client = new Client(ENDPOINT, TOKEN, {});


Note:

To learn how to split your Solana Yellowstone enabled URL into endpoint and 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 i @rpcpool/yellowstone-grpc

Additional Resources

For more information about working with Yellowstone and the Geyser Plugin in TypeScript, refer to the Yellowstone TypeScript Guide. This guide provides an in-depth overview of setting up gRPC endpoints, managing authentication tokens, and understanding key concepts like commitment levels.

We ❤️ Feedback!

If you have any feedback or questions about this documentation, let us know. We'd love to hear from you!

Share this doc