본문으로 건너뛰기

Compression

업데이트됨:
Sep 03, 2026
Solana gRPC is included with Scale plans and up. Learn more on our pricing page.

개요

gRPC negotiates per-message compression between the client and the server. The client advertises the algorithms it accepts, and the server compresses responses with one of them.

Quicknode supports gzip and zstd on Solana gRPC.

On port 443, Solana gRPC meters the compressed size of response data when the client negotiates compression. Enabling compression therefore reduces metered usage.

Supported Algorithms

언어Client librarygzipzstd
Rustyellowstone-grpc-clientSupportedSupported
가기google.golang.org/grpcBuilt inRequires github.com/mostynb/go-grpc-compression/zstd
TypeScript@triton-one/yellowstone-grpcSupportedSupported
파이썬grpcioSupportedNot supported by grpcio

zstd typically achieves a higher compression ratio than gzip on Solana block data.

Enabling Compression

use yellowstone_grpc_client::{ClientTlsConfig, GeyserGrpcClient};

// For HTTP Provider URL: https://example-guide-demo.solana-mainnet.quiknode.pro/123456789/
let endpoint = "https://example-guide-demo.solana-mainnet.quiknode.pro:443";
let token = "123456789";

let client = GeyserGrpcClient::build_from_shared(endpoint.to_string())?
.x_token(Some(token.to_string()))?
.tls_config(ClientTlsConfig::new().with_native_roots())?
.accept_compressed(tonic::codec::CompressionEncoding::Gzip)
// .accept_compressed(tonic::codec::CompressionEncoding::Zstd)
.connect()
.await?;

The tonic gzip 그리고 zstd features are enabled transitively by the default tonic-compression feature of yellowstone-grpc-proto, so no extra feature flags are required in your Cargo.toml.

Metered Data Pricing

Solana gRPC is metered on the volume of data delivered. From October 1, 2026, metered usage is 15 credits per 0.1 MB.

Port 443 meters compressed response data when the client negotiates compression. Port 10000 is legacy and meters uncompressed response data.

자료