GetNextMaintenanceTime gRPC Method
參數
此方法不接受任何參數
退貨
num
整數
載入中...
請求
1套件 主函式23匯入 (4"上下文"5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.grpc"9"google.golang.grpc"10"log"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 代幣 = "您的_代幣"20var endpoint = "YOUR_ENDPOINT:50051"2122類型 auth 結構體 {23代幣 字串24}2526func (a *auth) GetRequestMetadata(ctx 上下文.Context, uri ...字串) (map[字串]字串, 錯誤) {27返回 地圖[字串]字串{28「x-token」: a.token,29}, nil30}3132func (a *auth) RequireTransportSecurity() bool {33返回 false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentials(憑證.NewTLS(&tls.Config{})),40grpc.WithPerRPC憑證(&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套件 主函式23匯入 (4"上下文"5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.grpc"9"google.golang.grpc"10"log"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 代幣 = "您的_代幣"20var endpoint = "YOUR_ENDPOINT:50051"2122類型 auth 結構體 {23代幣 字串24}2526func (a *auth) GetRequestMetadata(ctx 上下文.Context, uri ...字串) (map[字串]字串, 錯誤) {27返回 地圖[字串]字串{28「x-token」: a.token,29}, nil30}3132func (a *auth) RequireTransportSecurity() bool {33返回 false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentials(憑證.NewTLS(&tls.Config{})),40grpc.WithPerRPC憑證(&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}