GetNextMaintenanceTime gRPC Method
Parameters
This method does not accept any parameters
Returns
num
integer
Loading...
Request
1package main23import (4"context"5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.org/grpc"9"google.golang.org/grpc/credentials"10"log"11"time"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 token = "YOUR_TOKEN"20var endpoint = "YOUR_ENDPOINT:50051"2122type auth struct {23token string24}2526func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {27return map[string]string{28"x-token": a.token,29}, nil30}3132func (a *auth) RequireTransportSecurity() bool {33return false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),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()50if 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}
1package main23import (4"context"5"crypto/tls"6"fmt"7"github.com/fbsobreira/gotron-sdk/pkg/client"8"google.golang.org/grpc"9"google.golang.org/grpc/credentials"10"log"11"time"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 token = "YOUR_TOKEN"20var endpoint = "YOUR_ENDPOINT:50051"2122type auth struct {23token string24}2526func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {27return map[string]string{28"x-token": a.token,29}, nil30}3132func (a *auth) RequireTransportSecurity() bool {33return false34}3536func main() {3738opts := []grpc.DialOption{39grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),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()50if 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}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free