VersionTally gRPC Method
Parameters
version
integer
REQUIRED
Loading...
Returns
voting_power
integer
Loading...
threshold_power
integer
Loading...
total_voting_power
integer
Loading...
Request
1package main23import (4"context"5"crypto/tls"6"encoding/json"7"fmt"8"log"9"time"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"1314signaltypes "celestia-grpc/celestia/signal/v1"15)1617// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token18// For eg: QN Endpoint: https://docs-demo.celestia-mainnet.quiknode.pro/abcde12345678919// endpoint will be: docs-demo.celestia-mainnet.quiknode.pro:9090 {9090 is the port number for Celestia gRPC}20// token will be : abcde1234567892122var token = "YOUR_TOKEN"23var endpoint = "YOUR_ENDPOINT:9090"2425type auth struct {26token string27}2829func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {30return map[string]string{31"x-token": a.token,32}, nil33}3435func (a *auth) RequireTransportSecurity() bool {36return false37}3839func main() {40opts := []grpc.DialOption{41grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),42grpc.WithPerRPCCredentials(&auth{token}),43}4445// Create gRPC connection46conn, err := grpc.Dial(endpoint, opts...)47if err != nil {48log.Fatalf("Failed to connect to Celestia gRPC server: %v", err)49}50defer conn.Close()5152client := signaltypes.NewQueryClient(conn)5354ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)55defer cancel()5657resp, err := client.VersionTally(ctx, &signaltypes.QueryVersionTallyRequest{58Version: 2, // Query for version 259})60if err != nil {61log.Fatalf("Failed to query version tally: %v", err)62}6364jsonData, err := json.MarshalIndent(resp, "", " ")65if err != nil {66log.Printf("Error converting to JSON: %v", err)67} else {68fmt.Println("\nOutput:")69fmt.Println(string(jsonData))70}71}
1package main23import (4"context"5"crypto/tls"6"encoding/json"7"fmt"8"log"9"time"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"1314signaltypes "celestia-grpc/celestia/signal/v1"15)1617// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token18// For eg: QN Endpoint: https://docs-demo.celestia-mainnet.quiknode.pro/abcde12345678919// endpoint will be: docs-demo.celestia-mainnet.quiknode.pro:9090 {9090 is the port number for Celestia gRPC}20// token will be : abcde1234567892122var token = "YOUR_TOKEN"23var endpoint = "YOUR_ENDPOINT:9090"2425type auth struct {26token string27}2829func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {30return map[string]string{31"x-token": a.token,32}, nil33}3435func (a *auth) RequireTransportSecurity() bool {36return false37}3839func main() {40opts := []grpc.DialOption{41grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),42grpc.WithPerRPCCredentials(&auth{token}),43}4445// Create gRPC connection46conn, err := grpc.Dial(endpoint, opts...)47if err != nil {48log.Fatalf("Failed to connect to Celestia gRPC server: %v", err)49}50defer conn.Close()5152client := signaltypes.NewQueryClient(conn)5354ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)55defer cancel()5657resp, err := client.VersionTally(ctx, &signaltypes.QueryVersionTallyRequest{58Version: 2, // Query for version 259})60if err != nil {61log.Fatalf("Failed to query version tally: %v", err)62}6364jsonData, err := json.MarshalIndent(resp, "", " ")65if err != nil {66log.Printf("Error converting to JSON: %v", err)67} else {68fmt.Println("\nOutput:")69fmt.Println(string(jsonData))70}71}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free