Introduction

With Dedicated Node, you can leverage the powerful Yellowstone gRPC interface to receive real-time updates about on-chain events. The Geyser plugin provides a high-performance, low-latency stream of Solana blockchain data.

Yellowstone gRPC provides real-time data streams with high throughput and low latency, making it ideal for applications that need immediate access to on-chain events.

What is gRPC and Why Use It?

gRPC (Google Remote Procedure Call) is a modern, high-performance framework that enables client and server applications to communicate transparently. For Solana blockchain data streaming, gRPC offers several key advantages:

Key Advantages

  1. Language Agnostic: Using Protocol Buffers (protobuf), gRPC allows you to write clients in multiple programming languages while maintaining type safety and consistency.

  2. Binary Protocol: Unlike JSON-based REST APIs, gRPC uses a binary protocol that is more efficient in terms of bandwidth and parsing overhead.

  3. Bi-directional Streaming: gRPC supports bi-directional streaming, perfect for receiving continuous updates about blockchain events.

  4. Type Safety: The protobuf schema ensures type safety across all supported languages.

Getting Started

Your Helius Dedicated Node exposes the Yellowstone gRPC interface on port 2053. The service provides various subscription options for different types of blockchain data:

Installation & Project Setup

Before diving into specific examples in the following sections, let’s set up our development environment for each supported language:

  1. Create a new project:
mkdir ts-yellowstone-client
cd ts-yellowstone-client
npm init -y
  1. Install dependencies:
npm install @triton-one/yellowstone-grpc bs58
npm install typescript ts-node @types/node --save-dev
  1. Create TypeScript configuration:
npx tsc --init

These setups provide the foundation for the examples in the following sections. Each subsequent guide will build upon this basic setup to demonstrate specific monitoring capabilities.

Available Subscriptions

The Yellowstone gRPC interface allows you to subscribe to various types of data:

1. Account Updates

Account Updates

Subscribe to changes in account data, including:

  • Account balance changes
  • Data modifications
  • Ownership changes
  • Creation/deletion events

2. Slot Updates

Slot Updates

Monitor slots to receive notifications about:

  • New slots
  • Confirmed slots
  • Finalized slots
  • Parent slot relationships

3. Transaction Information

Transaction Information

Stream transactions to receive updates about:

  • Transaction signatures
  • Transaction status
  • Success/failure information
  • Account involvement

4. Block Data

Block Data

Access comprehensive block information:

  • Block metadata
  • Included transactions
  • Account updates
  • Entry information

5. Entry Data

Entry Data

Track low-level entry information:

  • Entry indexes
  • Transaction counts
  • Entry hashes

Commitment Levels

Next Steps

Continue to the following sections to learn about the core subscription types in Yellowstone gRPC:

1

Account Monitoring

Monitor account updates and changes

2

Transaction Monitoring

Track transactions and their status

3

Slot and Block Monitoring

Monitor slots, blocks, and their metadata

4

Entry Monitoring

Track low-level block entries and execution

Each guide includes complete working examples in TypeScript, Rust, and Go, along with advanced filtering patterns and best practices.