Skip to main content

GetCanDelegatedMaxSize gRPC Method

Loading...

Updated on
May 13, 2025

GetCanDelegatedMaxSize gRPC Method

Parameters

address
string
REQUIRED
Loading...
resource
integer
REQUIRED
Loading...

Returns

max_size
integer
Loading...
Request
1
package main
2
3
import (
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
)
12
13
// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token
14
// For eg: QN Endpoint: https://docs-demo.tron-mainnet.quiknode.pro/abcde123456789
15
// endpoint will be: docs-demo.tron-mainnet.quiknode.pro:50051 {50051 is the port number for Tron gRPC}
16
// token will be : abcde123456789
17
18
var token = "YOUR_TOKEN"
19
var endpoint = "YOUR_ENDPOINT:50051"
20
21
type auth struct {
22
token string
23
}
24
25
func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
26
return map[string]string{
27
"x-token": a.token,
28
}, nil
29
}
30
31
func (a *auth) RequireTransportSecurity() bool {
32
return false
33
}
34
35
func main() {
36
37
opts := []grpc.DialOption{
38
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),
39
grpc.WithPerRPCCredentials(&auth{token}),
40
}
41
conn := client.NewGrpcClient(endpoint)
42
if err := conn.Start(opts...); err != nil {
43
panic(err)
44
}
45
defer conn.Conn.Close()
46
47
address := "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g" // // Address to check
48
resource := int32(0) //Resource type: 0 for bandwidth, 1 for energy (using int32 as required)
49
50
fmt.Printf("Checking max delegatable bandwidth for address: %s\n", address)
51
// Call GetCanDelegatedMaxSize for bandwidth
52
bandwidthMax, err := conn.GetCanDelegatedMaxSize(address, resource)
53
if err != nil {
54
log.Printf("Error getting max delegatable bandwidth: %v\n", err)
55
} else {
56
fmt.Printf("Max delegatable bandwidth: %d\n", bandwidthMax)
57
}
58
59
// Check energy too
60
resource = int32(1) // Energy
61
fmt.Printf("\nChecking max delegatable energy for address: %s\n", address)
62
energyMax, err := conn.GetCanDelegatedMaxSize(address, resource)
63
if err != nil {
64
log.Printf("Error getting max delegatable energy: %v\n", err)
65
} else {
66
fmt.Printf("Max delegatable energy: %d\n", energyMax)
67
}
68
}
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free