subscribeReplayInfo gRPC Method - Yellowstone
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
first_available
string
Loading...
Request
1package main23import (4"context"5"crypto/tls"6"fmt"7"log"8"time"910pb "yellowstone/proto"1112"google.golang.org/grpc"13"google.golang.org/grpc/credentials"14"google.golang.org/grpc/encoding/gzip"15"google.golang.org/grpc/keepalive"16)1718var (19endpoint = "YOUR_QN_ENDPOINT:10000"20token = "YOUR_TOKEN_NUMBER"21)2223var kacp = keepalive.ClientParameters{24Time: 10 * time.Second,25Timeout: time.Second,26PermitWithoutStream: true,27}2829type tokenAuth struct {30token string31}3233func (t tokenAuth) GetRequestMetadata(ctx context.Context, in ...string) (map[string]string, error) {34return map[string]string{35"x-token": t.token,36}, nil37}3839func (tokenAuth) RequireTransportSecurity() bool {40return false41}4243func main() {44opts := []grpc.DialOption{45grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),46grpc.WithKeepaliveParams(kacp),47grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),48grpc.WithPerRPCCredentials(tokenAuth{token: token}),49}5051conn, err := grpc.NewClient(endpoint, opts...)52if err != nil {53log.Fatalf("Failed to connect: %v", err)54}55defer conn.Close()5657client := pb.NewGeyserClient(conn)5859req := &pb.SubscribeReplayInfoRequest{}60resp, err := client.SubscribeReplayInfo(context.Background(), req)61if err != nil {62log.Fatalf("Failed to get replay info: %v", err)63}6465if resp.FirstAvailable != nil {66fmt.Printf("First available slot for replay: %d\n", *resp.FirstAvailable)67} else {68fmt.Println("No replay information available")69}70}71
1package main23import (4"context"5"crypto/tls"6"fmt"7"log"8"time"910pb "yellowstone/proto"1112"google.golang.org/grpc"13"google.golang.org/grpc/credentials"14"google.golang.org/grpc/encoding/gzip"15"google.golang.org/grpc/keepalive"16)1718var (19endpoint = "YOUR_QN_ENDPOINT:10000"20token = "YOUR_TOKEN_NUMBER"21)2223var kacp = keepalive.ClientParameters{24Time: 10 * time.Second,25Timeout: time.Second,26PermitWithoutStream: true,27}2829type tokenAuth struct {30token string31}3233func (t tokenAuth) GetRequestMetadata(ctx context.Context, in ...string) (map[string]string, error) {34return map[string]string{35"x-token": t.token,36}, nil37}3839func (tokenAuth) RequireTransportSecurity() bool {40return false41}4243func main() {44opts := []grpc.DialOption{45grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),46grpc.WithKeepaliveParams(kacp),47grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),48grpc.WithPerRPCCredentials(tokenAuth{token: token}),49}5051conn, err := grpc.NewClient(endpoint, opts...)52if err != nil {53log.Fatalf("Failed to connect: %v", err)54}55defer conn.Close()5657client := pb.NewGeyserClient(conn)5859req := &pb.SubscribeReplayInfoRequest{}60resp, err := client.SubscribeReplayInfo(context.Background(), req)61if err != nil {62log.Fatalf("Failed to get replay info: %v", err)63}6465if resp.FirstAvailable != nil {66fmt.Printf("First available slot for replay: %d\n", *resp.FirstAvailable)67} else {68fmt.Println("No replay information available")69}70}71
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free