Overview
The Yellowstone gRPC Geyser plugin is a shared library that integrates with Solana validators to stream real-time data over gRPC. This guide covers building and installing the plugin.Prerequisites
Before installing the plugin, ensure you have:- Rust toolchain (latest stable version)
- Cargo build system
- A Solana validator (Agave-based)
- Linux operating system (recommended)
Building the Plugin
Build the Plugin
Build the plugin as a shared library:The compiled plugin will be located at:
- Release:
target/release/libyellowstone_grpc_geyser.so - Debug:
target/debug/libyellowstone_grpc_geyser.so
Verify the Build
Check that the shared library was created successfully:You should see the
.so file with a size typically in the range of several megabytes.Installation Paths
You have two options for organizing the plugin files:Option 1: Relative Path (Development)
Keep the plugin in the build directory and reference it relatively in your config:Option 2: Absolute Path (Production)
Copy the plugin to a dedicated location:Dependencies
The plugin has the following key dependencies (fromCargo.toml):
Core Dependencies
- agave-geyser-plugin-interface: Interface to Solana’s Geyser plugin system
- tonic: gRPC framework with support for gzip, zstd, and TLS
- tokio: Async runtime with multi-threading support
- yellowstone-grpc-proto: Protocol definitions for Yellowstone gRPC
Solana SDK Dependencies
- solana-account
- solana-account-decoder
- solana-transaction
- solana-transaction-status
- solana-pubkey
- And other Solana SDK components
Crate Type
The plugin is built as both:- cdylib: C-compatible dynamic library for use with Solana validator
- rlib: Rust library for integration in other Rust projects
Next Steps
After building and installing the plugin:- Configure the plugin - Set up gRPC endpoints, filters, and limits
- Deploy to validator - Integrate with your Solana validator
Troubleshooting
Build Fails
If the build fails, ensure you have the latest Rust toolchain:Missing Dependencies
If you encounter missing system dependencies, install the build essentials:Version Compatibility
Ensure your Solana validator version is compatible with the plugin. The plugin is designed for Agave-based validators and uses theagave-geyser-plugin-interface.