GetContractABI gRPC Method
पैरामीटर
contractAddress
डोरी
आवश्यक
लोड हो रहा है...
रिटर्न
entrys
सरणी
लोड हो रहा है...
anonymous
बूलियन
लोड हो रहा है...
constant
बूलियन
लोड हो रहा है...
नाम
डोरी
लोड हो रहा है...
inputs
सरणी
लोड हो रहा है...
indexed
बूलियन
लोड हो रहा है...
नाम
डोरी
लोड हो रहा है...
प्रकार
डोरी
लोड हो रहा है...
outputs
सरणी
लोड हो रहा है...
indexed
बूलियन
लोड हो रहा है...
नाम
डोरी
लोड हो रहा है...
प्रकार
डोरी
लोड हो रहा है...
प्रकार
डोरी
लोड हो रहा है...
payable
बूलियन
लोड हो रहा है...
stateMutability
डोरी
लोड हो रहा है...
अनुरोध
1पैकेज मुख्य23आयात (4"प्रसंग"5"क्रिप्टो/टीएलएस"6"एनकोडिंग/जेसन"7"एफएमटी"8"github.com/fbsobreira/gotron-sdk/pkg/client"9"google.golang.org/ grpc "10"google.golang.org/ grpc /साख"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टाइप ऑथ स्ट्रक्चर {23टोकन स्ट्रिंग24}2526समारोह ( a * auth ) GetRequestMetadata ( ctx context . Context , uri ... string ) ( मैप [ स्ट्रिंग ] स्ट्रिंग , गलती ) {27वापस करना मानचित्र [ स्ट्रिंग ] स्ट्रिंग {28"x-टोकन" : एक . टोकन ,29} , शून्य30}3132समारोह ( a * auth ) परिवहन सुरक्षा की आवश्यकता है ( ) बूल {33वापस करना असत्य34}3536समारोह मुख्य ( ) {3738opts := []grpc.DialOption{39grpc ( credentials.NewTLS ( & tls.Config { } ) )40grpc ( & auth { token } ) ,41}42conn := client.NewGrpcClient(endpoint)43if err := conn.Start(opts...); err != nil {44panic(err)45}46defer conn.Conn.Close()4748contractAddress := "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"49fmt.Printf("Fetching ABI for contract: %s\n", contractAddress)50contractABI, err := conn.GetContractABI(contractAddress)51यदि त्रुटि != शून्य {52log.Fatalf("Error getting contract ABI: %v\n", err)53}5455fmt.Println("\nContract ABI Information:")56abiJSON, err := json.MarshalIndent(contractABI, "", " ")57यदि त्रुटि != शून्य {58log.Printf("Error marshaling ABI to JSON: %v\n", err)59} अन्य {60fmt.Println(string(abiJSON))61}6263if contractABI.Entrys != nil && len(contractABI.Entrys) > 0 {64fmt.Printf("\nContract has %d function entries\n", len(contractABI.Entrys))65maxFunctions := 566if len(contractABI.Entrys) < maxFunctions {67maxFunctions = len(contractABI.Entrys)68}6970fmt.Println("\nFunction Overview:")71for i := 0; i < maxFunctions; i++ {72entry := contractABI.Entrys[i]73fmt.Printf("%d. Name: %s, Type: %s\n", i+1, entry.Name, entry.Type)74if len(entry.Inputs) > 0 {75fmt.Print(" Parameters: ")76for j, input := range entry.Inputs {77fmt.Printf("%s (%s)", input.Name, input.Type)78if j < len(entry.Inputs)-1 {79fmt.Print(", ")80}81}82fmt.Println()83}84if len(entry.Outputs) > 0 {85fmt.Print(" Returns: ")86for j, output := range entry.Outputs {87fmt.Printf("%s (%s)", output.Name, output.Type)88if j < len(entry.Outputs)-1 {89fmt.Print(", ")90}91}92fmt.Println()93}94}9596if len(contractABI.Entrys) > maxFunctions {97fmt.Printf("\n... and %d more functions\n", len(contractABI.Entrys)-maxFunctions)98}99} अन्य {100fmt.Println("No function entries found in this contract's ABI.")101}102}
1पैकेज मुख्य23आयात (4"प्रसंग"5"क्रिप्टो/टीएलएस"6"एनकोडिंग/जेसन"7"एफएमटी"8"github.com/fbsobreira/gotron-sdk/pkg/client"9"google.golang.org/ grpc "10"google.golang.org/ grpc /साख"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टाइप ऑथ स्ट्रक्चर {23टोकन स्ट्रिंग24}2526समारोह ( a * auth ) GetRequestMetadata ( ctx context . Context , uri ... string ) ( मैप [ स्ट्रिंग ] स्ट्रिंग , गलती ) {27वापस करना मानचित्र [ स्ट्रिंग ] स्ट्रिंग {28"x-टोकन" : एक . टोकन ,29} , शून्य30}3132समारोह ( a * auth ) परिवहन सुरक्षा की आवश्यकता है ( ) बूल {33वापस करना असत्य34}3536समारोह मुख्य ( ) {3738opts := []grpc.DialOption{39grpc ( credentials.NewTLS ( & tls.Config { } ) )40grpc ( & auth { token } ) ,41}42conn := client.NewGrpcClient(endpoint)43if err := conn.Start(opts...); err != nil {44panic(err)45}46defer conn.Conn.Close()4748contractAddress := "TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t"49fmt.Printf("Fetching ABI for contract: %s\n", contractAddress)50contractABI, err := conn.GetContractABI(contractAddress)51यदि त्रुटि != शून्य {52log.Fatalf("Error getting contract ABI: %v\n", err)53}5455fmt.Println("\nContract ABI Information:")56abiJSON, err := json.MarshalIndent(contractABI, "", " ")57यदि त्रुटि != शून्य {58log.Printf("Error marshaling ABI to JSON: %v\n", err)59} अन्य {60fmt.Println(string(abiJSON))61}6263if contractABI.Entrys != nil && len(contractABI.Entrys) > 0 {64fmt.Printf("\nContract has %d function entries\n", len(contractABI.Entrys))65maxFunctions := 566if len(contractABI.Entrys) < maxFunctions {67maxFunctions = len(contractABI.Entrys)68}6970fmt.Println("\nFunction Overview:")71for i := 0; i < maxFunctions; i++ {72entry := contractABI.Entrys[i]73fmt.Printf("%d. Name: %s, Type: %s\n", i+1, entry.Name, entry.Type)74if len(entry.Inputs) > 0 {75fmt.Print(" Parameters: ")76for j, input := range entry.Inputs {77fmt.Printf("%s (%s)", input.Name, input.Type)78if j < len(entry.Inputs)-1 {79fmt.Print(", ")80}81}82fmt.Println()83}84if len(entry.Outputs) > 0 {85fmt.Print(" Returns: ")86for j, output := range entry.Outputs {87fmt.Printf("%s (%s)", output.Name, output.Type)88if j < len(entry.Outputs)-1 {89fmt.Print(", ")90}91}92fmt.Println()93}94}9596if len(contractABI.Entrys) > maxFunctions {97fmt.Printf("\n... and %d more functions\n", len(contractABI.Entrys)-maxFunctions)98}99} अन्य {100fmt.Println("No function entries found in this contract's ABI.")101}102}
अब तक कोई खाता नहीं है?
अपना बनाएँ Quicknode endpoint कुछ ही सेकंड में निर्माण शुरू करें
मुफ़्त में शुरुआत करें