GetPackage gRPC Method
Parameter
package_id
Zeichenkette
ERFORDERLICH
Wird geladen...
Rücksendungen
package
Objekt
Wird geladen...
storageId
Zeichenkette
Wird geladen...
originalId
Zeichenkette
Wird geladen...
Version
Zeichenkette
Wird geladen...
modules
Array
Wird geladen...
Name
Zeichenkette
Wird geladen...
datatypes
Array
Wird geladen...
typeName
Zeichenkette
Wird geladen...
definingId
Zeichenkette
Wird geladen...
module
Zeichenkette
Wird geladen...
Name
Zeichenkette
Wird geladen...
abilities
Array
Wird geladen...
kind
Zeichenkette
Wird geladen...
typeParameters
Array
Wird geladen...
fields
Array
Wird geladen...
Name
Zeichenkette
Wird geladen...
Position
Ganzzahl
Wird geladen...
Typ
Objekt
Wird geladen...
functions
Array
Wird geladen...
Name
Zeichenkette
Wird geladen...
visibility
Zeichenkette
Wird geladen...
isEntry
boolesch
Wird geladen...
typeParameters
Array
Wird geladen...
parameters
Array
Wird geladen...
reference
Zeichenkette
Wird geladen...
body
Objekt
Wird geladen...
Typ
Zeichenkette
Wird geladen...
typeName
Zeichenkette
Wird geladen...
returns
Array
Wird geladen...
body
Objekt
Wird geladen...
Typ
Zeichenkette
Wird geladen...
typeName
Zeichenkette
Wird geladen...
Anfrage
1grpcurl -proto ./sui/rpc/v2/move_package_service.proto -H "x-token: abcde123456789" -d '{2"package_id": "0x2"3}' docs-demo.sui-mainnet.quiknode.pro:9000 sui.rpc.v2.MovePackageService/GetPackage
1grpcurl -proto ./sui/rpc/v2/move_package_service.proto -H "x-token: abcde123456789" -d '{2"package_id": "0x2"3}' docs-demo.sui-mainnet.quiknode.pro:9000 sui.rpc.v2.MovePackageService/GetPackage
1Paket Hauptteil23import (4„Kontext“5„crypto/tls“6"encoding/json"7„fmt“8„log“9„Zeit“1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"13"google.golang.org/protobuf/encoding/protojson"1415pb "sui-grpc/sui/rpc/v2" // Your Generated .pb.go files path16)1718// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token19// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678920// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}21// token will be : abcde1234567892223var (24Token = "IHRE_TOKEN-NUMMER"25endpoint = "YOUR_QN_ENDPOINT:9000"26)2728// Auth structure for x-token29Typ auth Struktur {30Token Zeichenkette31}3233func (a *auth) GetRequestMetadata(ctx Kontext.Context, uri ...Zeichenkette) (map[Zeichenkette]Zeichenkette, Fehler) {34return map[string]string{"x-token": a.token}, nil35}36func (a *auth) RequireTransportSecurity() bool {37return true38}3940func main() {41creds := credentials.NewTLS(&tls.Config{})42opts := []grpc.DialOption{43grpc.WithTransportCredentials(creds),44grpc.Mit RPCC-Anmeldedaten(&auth{Token}),45}4647conn, err := grpc.Dial(endpoint, opts...)48wenn err != nil {49Protokoll.Fatalf(„Verbindung konnte nicht hergestellt werden: %v“, err)50}51aufschieben conn.Schließen()5253client := pb.NewMovePackageServiceClient(conn)5455packageID := "0x2"5657// Build request with field mask58req := &pb.GetPackageRequest{59PackageId: &packageID,60}6162ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)63defer cancel()6465resp, err := client.GetPackage(ctx, req)66wenn err != nil {67log.Fatalf("GetPackage failed: %v", err)68}6970// Pretty print the response71marshaler := protojson.MarshalOptions{72UseProtoNames: true,73EmitUnpopulated: true,74Indent: " ",75}7677jsonBytes, err := marshaler.Marshal(resp)78wenn err != nil {79log.Fatalf("Failed to marshal: %v", err)80}8182var pretty map[string]interface{}83if err := json.Unmarshal(jsonBytes, &pretty); err != nil {84log.Fatalf("Failed to parse JSON: %v", err)85}8687out, _ := json.MarshalIndent(pretty, "", " ")88fmt.Println(string(out))89}90
1Paket Hauptteil23import (4„Kontext“5„crypto/tls“6"encoding/json"7„fmt“8„log“9„Zeit“1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"13"google.golang.org/protobuf/encoding/protojson"1415pb "sui-grpc/sui/rpc/v2" // Your Generated .pb.go files path16)1718// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token19// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678920// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}21// token will be : abcde1234567892223var (24Token = "IHRE_TOKEN-NUMMER"25endpoint = "YOUR_QN_ENDPOINT:9000"26)2728// Auth structure for x-token29Typ auth Struktur {30Token Zeichenkette31}3233func (a *auth) GetRequestMetadata(ctx Kontext.Context, uri ...Zeichenkette) (map[Zeichenkette]Zeichenkette, Fehler) {34return map[string]string{"x-token": a.token}, nil35}36func (a *auth) RequireTransportSecurity() bool {37return true38}3940func main() {41creds := credentials.NewTLS(&tls.Config{})42opts := []grpc.DialOption{43grpc.WithTransportCredentials(creds),44grpc.Mit RPCC-Anmeldedaten(&auth{Token}),45}4647conn, err := grpc.Dial(endpoint, opts...)48wenn err != nil {49Protokoll.Fatalf(„Verbindung konnte nicht hergestellt werden: %v“, err)50}51aufschieben conn.Schließen()5253client := pb.NewMovePackageServiceClient(conn)5455packageID := "0x2"5657// Build request with field mask58req := &pb.GetPackageRequest{59PackageId: &packageID,60}6162ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)63defer cancel()6465resp, err := client.GetPackage(ctx, req)66wenn err != nil {67log.Fatalf("GetPackage failed: %v", err)68}6970// Pretty print the response71marshaler := protojson.MarshalOptions{72UseProtoNames: true,73EmitUnpopulated: true,74Indent: " ",75}7677jsonBytes, err := marshaler.Marshal(resp)78wenn err != nil {79log.Fatalf("Failed to marshal: %v", err)80}8182var pretty map[string]interface{}83if err := json.Unmarshal(jsonBytes, &pretty); err != nil {84log.Fatalf("Failed to parse JSON: %v", err)85}8687out, _ := json.MarshalIndent(pretty, "", " ")88fmt.Println(string(out))89}90
1import * as grpc from '@grpc/grpc-js';2import * as protoLoader from '@grpc/proto-loader';3import * as path from 'path';45// Configuration6const PROTO_PATH = path.join(__dirname, 'protos/proto/sui/rpc/v2/move_package_service.proto');78// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token9// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678910// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}11// token will be : abcde1234567891213const endpoint = 'docs-demo.sui-mainnet.quiknode.pro:9000';14const token = 'abcde123456789';1516// Load protobuf definitions17const packageDefinition = protoLoader.loadSync(PROTO_PATH, {18keepCase: true,19longs: String,20enums: String,21defaults: true,22oneofs: true,23includeDirs: [path.join(__dirname, 'protos/proto')],24});2526const proto = grpc.loadPackageDefinition(packageDefinition) as any;27const MovePackageService = proto.sui.rpc.v2.MovePackageService;2829// Create secure client30const client = new MovePackageService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38package_id: '0x2',39};4041// Perform gRPC call42client.GetPackage(request, metadata, (err: grpc.ServiceError | null, response: any) => {43if (err) {44console.error('gRPC Error:', {45code: err.code,46message: err.message,47details: err.details,48});49} else {50console.log('GetPackage Response:');51console.log(JSON.stringify(response, null, 2));52}53});54
1import * as grpc from '@grpc/grpc-js';2import * as protoLoader from '@grpc/proto-loader';3import * as path from 'path';45// Configuration6const PROTO_PATH = path.join(__dirname, 'protos/proto/sui/rpc/v2/move_package_service.proto');78// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token9// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678910// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}11// token will be : abcde1234567891213const endpoint = 'docs-demo.sui-mainnet.quiknode.pro:9000';14const token = 'abcde123456789';1516// Load protobuf definitions17const packageDefinition = protoLoader.loadSync(PROTO_PATH, {18keepCase: true,19longs: String,20enums: String,21defaults: true,22oneofs: true,23includeDirs: [path.join(__dirname, 'protos/proto')],24});2526const proto = grpc.loadPackageDefinition(packageDefinition) as any;27const MovePackageService = proto.sui.rpc.v2.MovePackageService;2829// Create secure client30const client = new MovePackageService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38package_id: '0x2',39};4041// Perform gRPC call42client.GetPackage(request, metadata, (err: grpc.ServiceError | null, response: any) => {43if (err) {44console.error('gRPC Error:', {45code: err.code,46message: err.message,47details: err.details,48});49} else {50console.log('GetPackage Response:');51console.log(JSON.stringify(response, null, 2));52}53});54
1import grpc2import json3from google.protobuf.json_format import MessageToDict4from sui.rpc.v2 import move_package_service_pb2, move_package_service_pb2_grpc567def get_package():89# Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token10# For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678911# endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}12# token will be : abcde1234567891314endpoint = 'docs-demo.sui-mainnet.quiknode.pro:9000';15token = 'abcde123456789';1617channel = grpc.secure_channel(endpoint, grpc.ssl_channel_credentials())18stub = move_package_service_pb2_grpc.MovePackageServiceStub(channel)1920package_id = "0x2"2122request = move_package_service_pb2.GetPackageRequest(23package_id=package_id24)2526metadata = [("x-token", token)]2728return stub.GetPackage(request, metadata=metadata)293031def parse_response_to_json(response):32return json.dumps(33MessageToDict(response, preserving_proto_field_name=True),34indent=235)363738def main():39try:40response = get_package()41print(parse_response_to_json(response))42except grpc.RpcError as e:43print(f"{e.code().name}: {e.details()}")444546if __name__ == "__main__":47main()48
1import grpc2import json3from google.protobuf.json_format import MessageToDict4from sui.rpc.v2 import move_package_service_pb2, move_package_service_pb2_grpc567def get_package():89# Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token10# For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678911# endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}12# token will be : abcde1234567891314endpoint = 'docs-demo.sui-mainnet.quiknode.pro:9000';15token = 'abcde123456789';1617channel = grpc.secure_channel(endpoint, grpc.ssl_channel_credentials())18stub = move_package_service_pb2_grpc.MovePackageServiceStub(channel)1920package_id = "0x2"2122request = move_package_service_pb2.GetPackageRequest(23package_id=package_id24)2526metadata = [("x-token", token)]2728return stub.GetPackage(request, metadata=metadata)293031def parse_response_to_json(response):32return json.dumps(33MessageToDict(response, preserving_proto_field_name=True),34indent=235)363738def main():39try:40response = get_package()41print(parse_response_to_json(response))42except grpc.RpcError as e:43print(f"{e.code().name}: {e.details()}")444546if __name__ == "__main__":47main()48
Haben Sie noch kein Konto?
Erstellen Sie Ihren Quicknode-Endpunkt in Sekundenschnelle und legen Sie los
Kostenlos loslegen