Skip to main content

getBlockHeight gRPC Method

Retrieves the current block height of the Solana blockchain.

Updated on
Oct 25, 2024

getBlockHeight gRPC Method

Please note that this RPC method requires the Yellowstone gRPC add-on enabled on your QuickNode endpoint.

Parameters

This method does not accept any parameters

Returns

Blockheight
string
The latest block height
Request
1
package main
2
3
import (
4
"context"
5
"crypto/tls"
6
"fmt"
7
"log"
8
"time"
9
10
pb "yellowstone/proto"
11
12
13
"google.golang.org/grpc"
14
"google.golang.org/grpc/credentials"
15
"google.golang.org/grpc/encoding/gzip"
16
"google.golang.org/grpc/keepalive"
17
)
18
19
// QuickNode endpoints consist of two crucial components: the endpoint name and the corresponding token
20
// For eg: QN Endpoint: https://docs-demo.solana-mainnet.quiknode.pro/abcde123456789
21
// endpoint will be: docs-demo.solana-mainnet.quiknode.pro:10000 {10000 is the port number for gRPC}
22
// token will be : abcde123456789
23
24
var (
25
endpoint = "YOUR_QN_ENDPOINT:10000"
26
token = "YOUR_TOKEN_NUMBER"
27
)
28
29
func main() {
30
opts := []grpc.DialOption{
31
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),
32
grpc.WithKeepaliveParams(kacp),
33
grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),
34
grpc.WithPerRPCCredentials(tokenAuth{token: token}),
35
}
36
37
conn, err := grpc.NewClient(endpoint, opts...)
38
if err != null {
39
log.Fatalf("Failed to connect: %v", err)
40
}
41
defer conn.Close()
42
43
client := pb.NewGeyserClient(conn)
44
45
ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
46
defer cancel()
47
48
blockheight, err := client.GetBlockHeight(ctx, &pb.GetBlockHeightRequest{})
49
if err != null {
50
log.Fatalf("Failed to get block height: %v", err)
51
}
52
fmt.Printf(" Block Height: %+v\n", blockheight)
53
54
}
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free