GetNextMaintenanceTime gRPC Method
パラメータ
このメソッドはパラメータを受け付けません
返します
num
整数
読み込み中...
リクエスト
1パッケージ main23インポート (4「文脈」5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.grpc"9"google.golang.grpc"10「ログ」11「時間」12)1314// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token15// For eg: QN Endpoint: https://docs-demo.tron-mainnet.quiknode.pro/abcde12345678916// endpoint will be: docs-demo.tron-mainnet.quiknode.pro:50051 {50051 is the port number for Tron gRPC}17// token will be : abcde1234567891819var トークン = "YOUR_TOKEN"20var endpoint = "YOUR_ENDPOINT:50051"2122タイプ auth 構造体 {23トークン 文字列24}2526func (a *auth) GetRequestMetadata(ctx コンテキスト.Context, uri ...文字列) (map[文字列]文字列, エラー) {27戻る map[文字列]文字列{28「x-token」: a.トークン,29}, nil30}3132func (a *auth) RequireTransportSecurity(auth) bool {33戻る false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentialsWithTransportCredentials(credentials.NewTLS(&tls.設定{})),40grpc.WithPerRPCCredentials(&auth{token}),41}42conn := client.NewGrpcClient(endpoint)43if err := conn.Start(opts...); err != nil {44panic(err)45}46defer conn.Conn.Close()4748fmt.Println("Fetching next maintenance time information...")49maintenanceTimeInfo, err := conn.GetNextMaintenanceTime()50もし err != nil {51log.Fatalf("Error getting next maintenance time: %v\n", err)52}53nextMaintenanceTime := maintenanceTimeInfo.GetNum()54if nextMaintenanceTime > 0 {55// TRON timestamps are in milliseconds56maintenanceDate := time.Unix(nextMaintenanceTime/1000, 0)57fmt.Println("\nNext Maintenance Time Information:")58fmt.Printf("Timestamp: %d\n", nextMaintenanceTime)59fmt.Printf("Date and Time: %s\n", maintenanceDate.Format(time.RFC1123))60// Calculate time until maintenance6162now := time.Now()63timeUntil := maintenanceDate.Sub(now)64if timeUntil > 0 {65days := int(timeUntil.Hours() / 24)66hours := int(timeUntil.Hours()) % 2467minutes := int(timeUntil.Minutes()) % 6068fmt.Printf("Time until maintenance: %d days, %d hours, %d minutes\n", days, hours, minutes)69} else {70fmt.Println("Maintenance time has already passed. The next maintenance time may not be updated yet.")71}72} else {73fmt.Println("No maintenance time information available.")74}75fmt.Println("\nNote: TRON network conducts regular maintenance to implement updates and improvements.")76}
1パッケージ main23インポート (4「文脈」5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.grpc"9"google.golang.grpc"10「ログ」11「時間」12)1314// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token15// For eg: QN Endpoint: https://docs-demo.tron-mainnet.quiknode.pro/abcde12345678916// endpoint will be: docs-demo.tron-mainnet.quiknode.pro:50051 {50051 is the port number for Tron gRPC}17// token will be : abcde1234567891819var トークン = "YOUR_TOKEN"20var endpoint = "YOUR_ENDPOINT:50051"2122タイプ auth 構造体 {23トークン 文字列24}2526func (a *auth) GetRequestMetadata(ctx コンテキスト.Context, uri ...文字列) (map[文字列]文字列, エラー) {27戻る map[文字列]文字列{28「x-token」: a.トークン,29}, nil30}3132func (a *auth) RequireTransportSecurity(auth) bool {33戻る false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentialsWithTransportCredentials(credentials.NewTLS(&tls.設定{})),40grpc.WithPerRPCCredentials(&auth{token}),41}42conn := client.NewGrpcClient(endpoint)43if err := conn.Start(opts...); err != nil {44panic(err)45}46defer conn.Conn.Close()4748fmt.Println("Fetching next maintenance time information...")49maintenanceTimeInfo, err := conn.GetNextMaintenanceTime()50もし err != nil {51log.Fatalf("Error getting next maintenance time: %v\n", err)52}53nextMaintenanceTime := maintenanceTimeInfo.GetNum()54if nextMaintenanceTime > 0 {55// TRON timestamps are in milliseconds56maintenanceDate := time.Unix(nextMaintenanceTime/1000, 0)57fmt.Println("\nNext Maintenance Time Information:")58fmt.Printf("Timestamp: %d\n", nextMaintenanceTime)59fmt.Printf("Date and Time: %s\n", maintenanceDate.Format(time.RFC1123))60// Calculate time until maintenance6162now := time.Now()63timeUntil := maintenanceDate.Sub(now)64if timeUntil > 0 {65days := int(timeUntil.Hours() / 24)66hours := int(timeUntil.Hours()) % 2467minutes := int(timeUntil.Minutes()) % 6068fmt.Printf("Time until maintenance: %d days, %d hours, %d minutes\n", days, hours, minutes)69} else {70fmt.Println("Maintenance time has already passed. The next maintenance time may not be updated yet.")71}72} else {73fmt.Println("No maintenance time information available.")74}75fmt.Println("\nNote: TRON network conducts regular maintenance to implement updates and improvements.")76}