Skip to main content

getLatestBlockhash Access API Method

Retrieves the latest blockhash from the Solana blockchain, along with its associated slot and last valid block height.

Updated on
Oct 25, 2024

getLatestBlockhash Access API 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

slot
string
The slot number associated with the latest blockhash.
blockhash
string
The latest blockhash
lastValidBlockHeight
string
The last block height at which the retrieved blockhash is valid
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
latestBlockHash, err := client.GetLatestBlockhash(ctx, &pb.GetLatestBlockhashRequest{})
49
if err != null {
50
log.Fatalf("Failed to get latest blockhash: %v", err)
51
}
52
53
fmt.Printf("Latest Blockhash Information:\n")
54
fmt.Printf(" Blockhash: %+v\n", latestBlockHash)
55
56
}
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free