isBlockhashValid gRPC Method - Solana gRPC
Solana gRPC est inclus dans les plans Scale et Business. Pour les plans Build et Accelerate, il reste disponible via l'extension Solana gRPC.
Paramètres
blockhash
bytes
OBLIGATOIRE
Chargement...
Renvoie
valid
booléen
Chargement...
slot
chaîne de caractères
Chargement...
Requête
1package main23import (4"context"5"crypto/tls"6"fmt"7"log"8"time"910pb "yellowstone/proto"111213"google.golang.org/grpc"14"google.golang.org/grpc/credentials"15"google.golang.org/grpc/encoding/gzip"16"google.golang.org/grpc/keepalive"17)1819// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token20// For eg: QN Endpoint: https://docs-demo.solana-mainnet.quiknode.pro/abcde12345678921// endpoint will be: docs-demo.solana-mainnet.quiknode.pro:10000 {10000 is the port number for gRPC}22// token will be : abcde1234567892324var (25endpoint = "YOUR_QN_ENDPOINT:10000"26token = "YOUR_TOKEN_NUMBER"27)2829func main() {30opts := []grpc.DialOption{31grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),32grpc.WithKeepaliveParams(kacp),33grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),34grpc.WithPerRPCCredentials(tokenAuth{token: token}),35}3637conn, err := grpc.NewClient(endpoint, opts...)38if err != nil {39log.Fatalf("Échec de la connexion : %v", err)40}41defer conn.Close()4243client := pb.NewGeyserClient(conn)4445ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)46defer cancel()4748const BLOCKHASH_TO_CHECK = "FJcV9hJycVRkyHWf3P8qjxE2vLs6dF38RTZzZBNvNM1z"4950isBlockhashValid, err := client.IsBlockhashValid(ctx, &pb.IsBlockhashValidRequest{51Blockhash: BLOCKHASH_TO_CHECK,52})53if err != nil {54log.Fatalf("Failed to check blockhash validity: %v", err)55}565758fmt.Printf("Slot: %d\n", isBlockhashValid.Slot)59fmt.Printf("Valid: %v\n", isBlockhashValid.Valid)606162}
1package main23import (4"context"5"crypto/tls"6"fmt"7"log"8"time"910pb "yellowstone/proto"111213"google.golang.org/grpc"14"google.golang.org/grpc/credentials"15"google.golang.org/grpc/encoding/gzip"16"google.golang.org/grpc/keepalive"17)1819// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token20// For eg: QN Endpoint: https://docs-demo.solana-mainnet.quiknode.pro/abcde12345678921// endpoint will be: docs-demo.solana-mainnet.quiknode.pro:10000 {10000 is the port number for gRPC}22// token will be : abcde1234567892324var (25endpoint = "YOUR_QN_ENDPOINT:10000"26token = "YOUR_TOKEN_NUMBER"27)2829func main() {30opts := []grpc.DialOption{31grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),32grpc.WithKeepaliveParams(kacp),33grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),34grpc.WithPerRPCCredentials(tokenAuth{token: token}),35}3637conn, err := grpc.NewClient(endpoint, opts...)38if err != nil {39log.Fatalf("Échec de la connexion : %v", err)40}41defer conn.Close()4243client := pb.NewGeyserClient(conn)4445ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)46defer cancel()4748const BLOCKHASH_TO_CHECK = "FJcV9hJycVRkyHWf3P8qjxE2vLs6dF38RTZzZBNvNM1z"4950isBlockhashValid, err := client.IsBlockhashValid(ctx, &pb.IsBlockhashValidRequest{51Blockhash: BLOCKHASH_TO_CHECK,52})53if err != nil {54log.Fatalf("Failed to check blockhash validity: %v", err)55}565758fmt.Printf("Slot: %d\n", isBlockhashValid.Slot)59fmt.Printf("Valid: %v\n", isBlockhashValid.Valid)606162}
1import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";23// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token4// For eg: QN Endpoint: https://docs-demo.solana-mainnet.quiknode.pro/abcde1234567895// endpoint will be: docs-demo.solana-mainnet.quiknode.pro:10000 {10000 is the port number for gRPC}6// token will be : abcde12345678978const POINT D'EXTRÉMITÉ = "VOTRE_POINT_D'ACCÈS_QN:10000";9const TOKEN = "VOTRE_NUMÉRO_DE_TOKEN";1011const BLOCKHASH_TO_CHECK = "FJcV9hJycVRkyHWf3P8qjxE2vLs6dF38RTZzZBNvNM1z";1213async function main() {14const client = new Client(ENDPOINT, TOKEN, {});1516const engagement = Niveau d'engagement.CONFIRMÉ;1718essayer {19const result = await client.isBlockhashValid(BLOCKHASH_TO_CHECK, commitment);20console.log(`Blockhash validity check for ${BLOCKHASH_TO_CHECK}:`);21console.log(JSON.stringify(result, null, 2));2223} catch (error) {24console.error("Error checking blockhash validity:", error);25}26}2728main()29.catch((err) => {30console.error("Erreur non gérée :", err);31process.exit(1);32});
1import Client, { CommitmentLevel } from "@triton-one/yellowstone-grpc";23// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token4// For eg: QN Endpoint: https://docs-demo.solana-mainnet.quiknode.pro/abcde1234567895// endpoint will be: docs-demo.solana-mainnet.quiknode.pro:10000 {10000 is the port number for gRPC}6// token will be : abcde12345678978const POINT D'EXTRÉMITÉ = "VOTRE_POINT_D'ACCÈS_QN:10000";9const TOKEN = "VOTRE_NUMÉRO_DE_TOKEN";1011const BLOCKHASH_TO_CHECK = "FJcV9hJycVRkyHWf3P8qjxE2vLs6dF38RTZzZBNvNM1z";1213async function main() {14const client = new Client(ENDPOINT, TOKEN, {});1516const engagement = Niveau d'engagement.CONFIRMÉ;1718essayer {19const result = await client.isBlockhashValid(BLOCKHASH_TO_CHECK, commitment);20console.log(`Blockhash validity check for ${BLOCKHASH_TO_CHECK}:`);21console.log(JSON.stringify(result, null, 2));2223} catch (error) {24console.error("Error checking blockhash validity:", error);25}26}2728main()29.catch((err) => {30console.error("Erreur non gérée :", err);31process.exit(1);32});
Vous n'avez pas encore de compte ?
Créez votre endpoint Quicknode en quelques secondes et commencez à développer
Commencez gratuitement