ListOwnedObjects gRPC Method
Paramètres
propriétaire
chaîne de caractères
OBLIGATOIRE
Chargement...
page_size
entier
Chargement...
page_token
chaîne de caractères
Chargement...
read_mask
objet
Chargement...
object_type
chaîne de caractères
Chargement...
Renvoie
objects
tableau
Chargement...
objectId
chaîne de caractères
Chargement...
Version
chaîne de caractères
Chargement...
digest
chaîne de caractères
Chargement...
objectType
chaîne de caractères
Chargement...
propriétaire
objet
Chargement...
hasPublicTransfer
booléen
Chargement...
contents
objet
Chargement...
bcs
objet
Chargement...
nextPageToken
chaîne de caractères
Chargement...
Requête
1grpcurl -proto ./sui/rpc/v2/state_service.proto -H "x-token: abcde123456789" -d '{2"owner": "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"3}' docs-demo.sui-mainnet.quiknode.pro:9000 sui.rpc.v2.StateService/ListOwnedObjects4
1grpcurl -proto ./sui/rpc/v2/state_service.proto -H "x-token: abcde123456789" -d '{2"owner": "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"3}' docs-demo.sui-mainnet.quiknode.pro:9000 sui.rpc.v2.StateService/ListOwnedObjects4
1package main23import (4"context"5"crypto/tls"6"encoding/json"7"fmt"8"log"9"time"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"13"google.golang.org/protobuf/encoding/protojson"14"google.golang.org/protobuf/types/known/fieldmaskpb"1516pb "sui-grpc/sui/rpc/v2" // Your Generated .pb.go files path17)1819// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token20// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678921// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}22// token will be : abcde1234567892324var (25token = "YOUR_TOKEN_NUMBER"26endpoint = "YOUR_QN_ENDPOINT:9000"27)2829// Auth structure for x-token30type auth struct {31token string32}3334func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {35return map[string]string{"x-token": a.token}, nil36}37func (a *auth) RequireTransportSecurity() bool {38return true39}4041func main() {42creds := credentials.NewTLS(&tls.Config{})43opts := []grpc.DialOption{44grpc.WithTransportCredentials(creds),45grpc.WithPerRPCCredentials(&auth{token}),46}4748conn, err := grpc.Dial(endpoint, opts...)49if err != nil {50log.Fatalf("Échec de la connexion : %v", err)51}52defer conn.Close()5354client := pb.NewStateServiceClient(conn)5556owner := "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"5758// Build request with field mask59req := &pb.ListOwnedObjectsRequest{60Owner: &owner,61ReadMask: &fieldmaskpb.FieldMask{62Paths: []string{63"object_id",64"version",65"digest",66"object_type",67"owner",68},69},70}7172ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)73defer cancel()7475resp, err := client.ListOwnedObjects(ctx, req)76if err != nil {77log.Fatalf("ListOwnedObjects failed: %v", err)78}7980// Pretty print the response81marshaler := protojson.MarshalOptions{82UseProtoNames: true,83EmitUnpopulated: true,84Indent: " ",85}8687jsonBytes, err := marshaler.Marshal(resp)88if err != nil {89log.Fatalf("Failed to marshal: %v", err)90}9192var pretty map[string]interface{}93if err := json.Unmarshal(jsonBytes, &pretty); err != nil {94log.Fatalf("Failed to parse JSON: %v", err)95}9697out, _ := json.MarshalIndent(pretty, "", " ")98fmt.Println(string(out))99}100
1package main23import (4"context"5"crypto/tls"6"encoding/json"7"fmt"8"log"9"time"1011"google.golang.org/grpc"12"google.golang.org/grpc/credentials"13"google.golang.org/protobuf/encoding/protojson"14"google.golang.org/protobuf/types/known/fieldmaskpb"1516pb "sui-grpc/sui/rpc/v2" // Your Generated .pb.go files path17)1819// Quicknode endpoints consist of two crucial components: the endpoint name and the corresponding token20// For eg: QN Endpoint: https://docs-demo.sui-mainnet.quiknode.pro/abcde12345678921// endpoint will be: docs-demo.sui-mainnet.quiknode.pro:9000 {9000 is the port number for Sui gRPC}22// token will be : abcde1234567892324var (25token = "YOUR_TOKEN_NUMBER"26endpoint = "YOUR_QN_ENDPOINT:9000"27)2829// Auth structure for x-token30type auth struct {31token string32}3334func (a *auth) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {35return map[string]string{"x-token": a.token}, nil36}37func (a *auth) RequireTransportSecurity() bool {38return true39}4041func main() {42creds := credentials.NewTLS(&tls.Config{})43opts := []grpc.DialOption{44grpc.WithTransportCredentials(creds),45grpc.WithPerRPCCredentials(&auth{token}),46}4748conn, err := grpc.Dial(endpoint, opts...)49if err != nil {50log.Fatalf("Échec de la connexion : %v", err)51}52defer conn.Close()5354client := pb.NewStateServiceClient(conn)5556owner := "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"5758// Build request with field mask59req := &pb.ListOwnedObjectsRequest{60Owner: &owner,61ReadMask: &fieldmaskpb.FieldMask{62Paths: []string{63"object_id",64"version",65"digest",66"object_type",67"owner",68},69},70}7172ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)73defer cancel()7475resp, err := client.ListOwnedObjects(ctx, req)76if err != nil {77log.Fatalf("ListOwnedObjects failed: %v", err)78}7980// Pretty print the response81marshaler := protojson.MarshalOptions{82UseProtoNames: true,83EmitUnpopulated: true,84Indent: " ",85}8687jsonBytes, err := marshaler.Marshal(resp)88if err != nil {89log.Fatalf("Failed to marshal: %v", err)90}9192var pretty map[string]interface{}93if err := json.Unmarshal(jsonBytes, &pretty); err != nil {94log.Fatalf("Failed to parse JSON: %v", err)95}9697out, _ := json.MarshalIndent(pretty, "", " ")98fmt.Println(string(out))99}100
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/state_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 StateService = proto.sui.rpc.v2.StateService;2829// Create secure client30const client = new StateService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38owner: '0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8',39};4041// Perform gRPC call42client.ListOwnedObjects(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('ListOwnedObjects 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/state_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 StateService = proto.sui.rpc.v2.StateService;2829// Create secure client30const client = new StateService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38owner: '0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8',39};4041// Perform gRPC call42client.ListOwnedObjects(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('ListOwnedObjects Response:');51console.log(JSON.stringify(response, null, 2));52}53});54
1import grpc2import json3from google.protobuf.json_format import MessageToDict4from sui.rpc.v2 import state_service_pb2, state_service_pb2_grpc567def list_owned_objects():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 = state_service_pb2_grpc.StateServiceStub(channel)1920owner = "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"2122request = state_service_pb2.ListOwnedObjectsRequest(23owner=owner24)2526metadata = [("x-token", token)]2728return stub.ListOwnedObjects(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 = list_owned_objects()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 state_service_pb2, state_service_pb2_grpc567def list_owned_objects():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 = state_service_pb2_grpc.StateServiceStub(channel)1920owner = "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"2122request = state_service_pb2.ListOwnedObjectsRequest(23owner=owner24)2526metadata = [("x-token", token)]2728return stub.ListOwnedObjects(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 = list_owned_objects()41print(parse_response_to_json(response))42except grpc.RpcError as e:43print(f"{e.code().name}: {e.details()}")444546if __name__ == "__main__":47main()48
Vous n'avez pas encore de compte ?
Créez votre endpoint Quicknode en quelques secondes et commencez à développer
Commencez gratuitement