GetVersion

Returns the current Solana software version running on the node.

Type: unary

Overview

GetVersion returns the Solana software version string of the connected node. This is primarily used for diagnostics, compatibility checks, and monitoring dashboards to ensure nodes are running expected software versions.

It can also be used to verify that the gRPC endpoint is responsive and healthy before establishing streaming connections.

Parameters

This method does not accept any parameters.

Response

FieldTypeDescription
versionstringThe Solana software version (e.g., "1.17.28")

Usage Examples

Node.js

1const grpc = require('@grpc/grpc-js');
2const protoLoader = require('@grpc/proto-loader');
3
4const packageDef = protoLoader.loadSync('geyser.proto', {
5  keepCase: true, longs: String, enums: String, defaults: true, oneofs: true
6});
7const proto = grpc.loadPackageDefinition(packageDef).geyser;
8const client = new proto.Geyser('[IP_ADDRESS]:[PORT]', grpc.credentials.createInsecure());
9
10client.getVersion({}, (err, response) => {
11  if (err) { console.error(err); return; }
12  console.log('Response:', response);
13});

Rust

1use yellowstone_grpc_proto::geyser::geyser_client::GeyserClient;
2use tonic::transport::Channel;
3
4#[tokio::main]
5async fn main() -> Result<(), Box<dyn std::error::Error>> {
6    let channel = Channel::from_static("http://[IP_ADDRESS]:[PORT]")
7        .connect().await?;
8    let mut client = GeyserClient::new(channel);
9
10    let response = client.getVersion(tonic::Request::new(())).await?;
11    println!("Response: {:?}", response.into_inner());
12
13    Ok(())
14}