Skip to main content

ping gRPC Method

Sends a number of ping requests to the network to check the connection's responsiveness and status.

Updated on
Oct 25, 2024

ping 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

status
integer
A message or indicator that confirms whether the ping was successful
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
pingResponse, err := client.Ping(ctx, &pb.PingRequest{})
49
if err != null {
50
log.Fatalf("Failed to get Ping: %v", err)
51
}
52
fmt.Printf(" Ping Response: %+v\n", pingResponse)
53
54
}
Don't have an account yet?
Create your QuickNode endpoint in seconds and start building
Get started for free