EstimateGasPriceAndUsage gRPC Method
매개변수
tx_priority
문자열
필수
로딩 중...
TX_PRIORITY_UNSPECIFIED
정수
로딩 중...
TX_PRIORITY_LOW
정수
로딩 중...
TX_PRIORITY_MEDIUM
정수
로딩 중...
TX_PRIORITY_HIGH
정수
로딩 중...
tx_bytes
문자열
필수
로딩 중...
반품
estimated_gas_price
정수
로딩 중...
estimated_gas_used
정수
로딩 중...
요청
1패키지 main23import (4"문맥"5"crypto/tls"6"encoding/json"7"fmt"8"로그"9"시간"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"1314gasestimation "celestia-grpc/celestia/core/v1/gas_estimation"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...)47만약 err != nil {48log.Fatalf("Failed to connect to Celestia gRPC server: %v", err)49}50defer conn.Close()5152client := gasestimation.NewGasEstimatorClient(conn)5354ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)55defer cancel()5657// Example transaction bytes (this would be your actual transaction in practice)58txBytes := []byte("SIGNED_TRANSACTION_BYTES")5960resp, err := client.EstimateGasPriceAndUsage(ctx, &gasestimation.EstimateGasPriceAndUsageRequest{61TxPriority: gasestimation.TxPriority_TX_PRIORITY_MEDIUM,62TxBytes: txBytes,63})64만약 err != nil {65log.Fatalf("Failed to estimate gas price and usage: %v", err)66}6768jsonData, err := json.MarshalIndent(resp, "", " ")69만약 err != nil {70log.Printf("Error converting to JSON: %v", err)71} else {72fmt.Println("\nOutput:")73fmt.Println(string(jsonData))74}75}
1패키지 main23import (4"문맥"5"crypto/tls"6"encoding/json"7"fmt"8"로그"9"시간"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"1314gasestimation "celestia-grpc/celestia/core/v1/gas_estimation"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...)47만약 err != nil {48log.Fatalf("Failed to connect to Celestia gRPC server: %v", err)49}50defer conn.Close()5152client := gasestimation.NewGasEstimatorClient(conn)5354ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)55defer cancel()5657// Example transaction bytes (this would be your actual transaction in practice)58txBytes := []byte("SIGNED_TRANSACTION_BYTES")5960resp, err := client.EstimateGasPriceAndUsage(ctx, &gasestimation.EstimateGasPriceAndUsageRequest{61TxPriority: gasestimation.TxPriority_TX_PRIORITY_MEDIUM,62TxBytes: txBytes,63})64만약 err != nil {65log.Fatalf("Failed to estimate gas price and usage: %v", err)66}6768jsonData, err := json.MarshalIndent(resp, "", " ")69만약 err != nil {70log.Printf("Error converting to JSON: %v", err)71} else {72fmt.Println("\nOutput:")73fmt.Println(string(jsonData))74}75}