getLatestBlockhash gRPC Method - Solana gRPC
Solana gRPC is included with Scale plans and up. Learn more on our pricing page.
Paramètres
commitment
chaîne de caractères
Chargement en cours...
PROCESSED
chaîne de caractères
Chargement en cours...
CONFIRMED
chaîne de caractères
Chargement en cours...
FINALIZED
chaîne de caractères
Chargement en cours...
Retours
slot
chaîne de caractères
Chargement en cours...
blockhash
chaîne de caractères
Chargement en cours...
lastValidBlockHeight
chaîne de caractères
Chargement en cours...
Demande
1paquet principal23import (4« contexte »5« crypto/tls »6« fmt »7« journal »8« temps »910pb "yellowstone/proto"111213« google.golang.grpc »14« google.golang.grpc »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:443 {443 is the port number for gRPC}22// token will be : abcde1234567892324var (25endpoint = "YOUR_QN_ENDPOINT:443"26token = "YOUR_TOKEN_NUMBER"27)2829var kacp = keepalive.ClientParameters{30Time: 10 * time.Second,31Timeout: time.Second,32PermitWithoutStream: true,33}3435type tokenAuth struct {36jeton chaîne de caractères37}3839func (t tokenAuth) GetRequestMetadata(ctx context.Context, in ...string) (map[string]string, error) {40retour carte[chaîne]chaîne{41"x-token": t.token,42}, nil43}4445func (tokenAuth) RequireTransportSecurity() bool {46return true47}4849func main() {50opts := []grpc.DialOption{51grpc.WithTransportCredentials(informations d'authentification.NewTLS(&tls.Config{})),52grpc.WithKeepaliveParams(kacp),53grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),54grpc.WithPerRPCCredentials(tokenAuth{token: token}),55}5657conn, err := grpc.NewClient(endpoint, opts...)58si err != nil {59log.Fatalf("Failed to connect: %v", err)60}61reporter conn.Fermer()6263client := pb.NewGeyserClient(conn)6465ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)66defer cancel()6768latestBlockHash, err := client.GetLatestBlockhash(ctx, &pb.GetLatestBlockhashRequest{})69si err != nil {70log.Fatalf("Failed to get latest blockhash: %v", err)71}7273fmt.Printf("Latest Blockhash Information:\n")74fmt.Printf(" Blockhash: %+v\n", latestBlockHash)7576}77
1paquet principal23import (4« contexte »5« crypto/tls »6« fmt »7« journal »8« temps »910pb "yellowstone/proto"111213« google.golang.grpc »14« google.golang.grpc »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:443 {443 is the port number for gRPC}22// token will be : abcde1234567892324var (25endpoint = "YOUR_QN_ENDPOINT:443"26token = "YOUR_TOKEN_NUMBER"27)2829var kacp = keepalive.ClientParameters{30Time: 10 * time.Second,31Timeout: time.Second,32PermitWithoutStream: true,33}3435type tokenAuth struct {36jeton chaîne de caractères37}3839func (t tokenAuth) GetRequestMetadata(ctx context.Context, in ...string) (map[string]string, error) {40retour carte[chaîne]chaîne{41"x-token": t.token,42}, nil43}4445func (tokenAuth) RequireTransportSecurity() bool {46return true47}4849func main() {50opts := []grpc.DialOption{51grpc.WithTransportCredentials(informations d'authentification.NewTLS(&tls.Config{})),52grpc.WithKeepaliveParams(kacp),53grpc.WithDefaultCallOptions(grpc.MaxCallRecvMsgSize(1024*1024*1024), grpc.UseCompressor(gzip.Name)),54grpc.WithPerRPCCredentials(tokenAuth{token: token}),55}5657conn, err := grpc.NewClient(endpoint, opts...)58si err != nil {59log.Fatalf("Failed to connect: %v", err)60}61reporter conn.Fermer()6263client := pb.NewGeyserClient(conn)6465ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)66defer cancel()6768latestBlockHash, err := client.GetLatestBlockhash(ctx, &pb.GetLatestBlockhashRequest{})69si err != nil {70log.Fatalf("Failed to get latest blockhash: %v", err)71}7273fmt.Printf("Latest Blockhash Information:\n")74fmt.Printf(" Blockhash: %+v\n", latestBlockHash)7576}77
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: https://docs-demo.solana-mainnet.quiknode.pro:443 {443 is the port number for gRPC}6// token will be : abcde12345678978const ENDPOINT = "https://YOUR_QN_ENDPOINT:443";9const TOKEN = "YOUR_TOKEN_NUMBER";1011async fonction main() {12const client = new Client(ENDPOINT, TOKEN, {13grpcDefaultCompressionAlgorithm: 0, // 0 = gzip, 1 = zstd14});15await client.connect();1617const commitment = CommitmentLevel.CONFIRMED;1819try {20const response = await client.getLatestBlockhash(commitment);21console.log(`Latest Blockhash: ${JSON.stringify(response, null, 2)}`);22} catch (error) {23console.error("Error fetching latest blockhash:", error);24}25}2627main()28.catch((err) => {29console.error("Unhandled error:", err);30process.exit(1);31});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: https://docs-demo.solana-mainnet.quiknode.pro:443 {443 is the port number for gRPC}6// token will be : abcde12345678978const ENDPOINT = "https://YOUR_QN_ENDPOINT:443";9const TOKEN = "YOUR_TOKEN_NUMBER";1011async fonction main() {12const client = new Client(ENDPOINT, TOKEN, {13grpcDefaultCompressionAlgorithm: 0, // 0 = gzip, 1 = zstd14});15await client.connect();1617const commitment = CommitmentLevel.CONFIRMED;1819try {20const response = await client.getLatestBlockhash(commitment);21console.log(`Latest Blockhash: ${JSON.stringify(response, null, 2)}`);22} catch (error) {23console.error("Error fetching latest blockhash:", error);24}25}2627main()28.catch((err) => {29console.error("Unhandled error:", err);30process.exit(1);31});32
Vous n'avez pas encore de compte ?
Créez votreendpoint Quicknode endpoint quelques secondes et commencez à développer
Commencez gratuitement