8
"github.com/fbsobreira/gotron-sdk/pkg/client"9
"google.golang.org/grpc"10
"google.golang.org/grpc/credentials"19
var punto final = "TU_PUNTO_DE_ACceso:50051"21
tipo autenticación estructura {25
func (a *auth) GetRequestMetadata(ctx contexto.Context, uri ...cadena) (mapa[cadena]cadena, error) {26
volver mapa[cadena]cadena{31
func (a *auth) RequireTransportSecurity() bool {37
opts := []grpc.DialOption{38
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),39
grpc.WithPerRPCCredentials(&auth{token}),41
conn := cliente.NewGrpcClient(punto de conexión)42
if err := conn.Start(opts...); err != nil {45
aplazar conn.Conn.Cerrar()47
from := "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g" 48
exchangeID := int64(123) 50
fmt.Printf("Verifying exchange ID %d...\n", exchangeID)51
exchange, err := conn.ExchangeByID(exchangeID)53
fmt.Printf("Error: The specified exchange does not exist: %v\n", err)57
firstTokenID := string(exchange.FirstTokenId)58
secondTokenID := string(exchange.SecondTokenId)59
fmt.Printf("Exchange %d contains tokens: %s and %s\n", 60
exchangeID, firstTokenID, secondTokenID)62
tokenID := firstTokenID 63
amountToken := int64(1000000) 64
amountExpected := int64(1800000) 66
if tokenID != firstTokenID && tokenID != secondTokenID {67
fmt.Printf("Error: Token %s is not in exchange %d\n", tokenID, exchangeID)71
fmt.Printf("Checking token balance for %s...\n", tokenID)72
var tokenBalance int6476
account, err := conn.GetAccount(from)78
fmt.Printf("Error getting account: %v\n", err)81
tokenBalance = account.Balance84
account, err := conn.GetAccount(from)86
fmt.Printf("Error getting account: %v\n", err)91
for tokenName, balance := range account.AssetV2 {92
if string(tokenName) == tokenID {93
tokenBalance = balance103
fmt.Printf("Token balance: %d\n", tokenBalance)105
if tokenBalance < amountToken {106
fmt.Printf("Error: Insufficient token balance. Have: %d, Need: %d\n", tokenBalance, amountToken)107
fmt.Println("Please make sure you have enough tokens before trading.")112
fmt.Println("Creating exchange trade transaction...")114
tx, err := conn.ExchangeTrade(123
fmt.Printf("Error creating trade transaction: %v\n", err)127
fmt.Println("Trade transaction created successfully. Transaction details:")128
jsonData, _ := json.MarshalIndent(tx, "", " ")129
fmt.Println(string(jsonData))132
fmt.Println("\nBroadcasting transaction to the TRON network...")133
result, err := conn.Broadcast(tx.Transaction)135
fmt.Printf("Error broadcasting transaction: %v\n", err)139
if !result.GetResult() {140
fmt.Printf("Broadcast failed: %s\n", result.GetMessage())144
fmt.Println("Trade executed successfully! Result:")145
resultJSON, _ := json.MarshalIndent(result, "", " ")146
fmt.Println(cadena(resultJSON))
8
"github.com/fbsobreira/gotron-sdk/pkg/client"9
"google.golang.org/grpc"10
"google.golang.org/grpc/credentials"19
var punto final = "TU_PUNTO_DE_ACceso:50051"21
tipo autenticación estructura {25
func (a *auth) GetRequestMetadata(ctx contexto.Context, uri ...cadena) (mapa[cadena]cadena, error) {26
volver mapa[cadena]cadena{31
func (a *auth) RequireTransportSecurity() bool {37
opts := []grpc.DialOption{38
grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{})),39
grpc.WithPerRPCCredentials(&auth{token}),41
conn := cliente.NewGrpcClient(punto de conexión)42
if err := conn.Start(opts...); err != nil {45
aplazar conn.Conn.Cerrar()47
from := "TZ4UXDV5ZhNW7fb2AMSbgfAEZ7hWsnYS2g" 48
exchangeID := int64(123) 50
fmt.Printf("Verifying exchange ID %d...\n", exchangeID)51
exchange, err := conn.ExchangeByID(exchangeID)53
fmt.Printf("Error: The specified exchange does not exist: %v\n", err)57
firstTokenID := string(exchange.FirstTokenId)58
secondTokenID := string(exchange.SecondTokenId)59
fmt.Printf("Exchange %d contains tokens: %s and %s\n", 60
exchangeID, firstTokenID, secondTokenID)62
tokenID := firstTokenID 63
amountToken := int64(1000000) 64
amountExpected := int64(1800000) 66
if tokenID != firstTokenID && tokenID != secondTokenID {67
fmt.Printf("Error: Token %s is not in exchange %d\n", tokenID, exchangeID)71
fmt.Printf("Checking token balance for %s...\n", tokenID)72
var tokenBalance int6476
account, err := conn.GetAccount(from)78
fmt.Printf("Error getting account: %v\n", err)81
tokenBalance = account.Balance84
account, err := conn.GetAccount(from)86
fmt.Printf("Error getting account: %v\n", err)91
for tokenName, balance := range account.AssetV2 {92
if string(tokenName) == tokenID {93
tokenBalance = balance103
fmt.Printf("Token balance: %d\n", tokenBalance)105
if tokenBalance < amountToken {106
fmt.Printf("Error: Insufficient token balance. Have: %d, Need: %d\n", tokenBalance, amountToken)107
fmt.Println("Please make sure you have enough tokens before trading.")112
fmt.Println("Creating exchange trade transaction...")114
tx, err := conn.ExchangeTrade(123
fmt.Printf("Error creating trade transaction: %v\n", err)127
fmt.Println("Trade transaction created successfully. Transaction details:")128
jsonData, _ := json.MarshalIndent(tx, "", " ")129
fmt.Println(string(jsonData))132
fmt.Println("\nBroadcasting transaction to the TRON network...")133
result, err := conn.Broadcast(tx.Transaction)135
fmt.Printf("Error broadcasting transaction: %v\n", err)139
if !result.GetResult() {140
fmt.Printf("Broadcast failed: %s\n", result.GetMessage())144
fmt.Println("Trade executed successfully! Result:")145
resultJSON, _ := json.MarshalIndent(result, "", " ")146
fmt.Println(cadena(resultJSON))