ListDynamicFields gRPC Method
Parameters
parent
string
REQUIRED
Loading...
page_size
integer
Loading...
page_token
string
Loading...
read_mask
object
Loading...
Returns
dynamicFields
array
Loading...
kind
string
Loading...
parent
string
Loading...
fieldId
string
Loading...
nameType
string
Loading...
nameValue
string
Loading...
valueType
string
Loading...
dynamicObjectId
string
Loading...
object
object
Loading...
nextPageToken
string
Loading...
Request
1grpcurl \2-import-path . \3-proto sui/rpc/v2beta2/live_data_service.proto \4-H "x-token: abcde123456789" \5-d '{6"parent": "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"7}' \8docs-demo.sui-mainnet.quiknode.pro:9000 \9sui.rpc.v2beta2.LiveDataService/ListDynamicFields
1grpcurl \2-import-path . \3-proto sui/rpc/v2beta2/live_data_service.proto \4-H "x-token: abcde123456789" \5-d '{6"parent": "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"7}' \8docs-demo.sui-mainnet.quiknode.pro:9000 \9sui.rpc.v2beta2.LiveDataService/ListDynamicFields
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/v2beta2" // 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("Failed to connect: %v", err)51}52defer conn.Close()5354client := pb.NewLiveDataServiceClient(conn)5556parentID := "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"5758req := &pb.ListDynamicFieldsRequest{59Parent: &parentID,60ReadMask: &fieldmaskpb.FieldMask{61Paths: []string{62},63},64}6566ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)67defer cancel()6869resp, err := client.ListDynamicFields(ctx, req)70if err != nil {71log.Fatalf("ListDynamicFields failed: %v", err)72}7374marshaler := protojson.MarshalOptions{75UseProtoNames: true,76EmitUnpopulated: true,77Indent: " ",78}7980jsonBytes, err := marshaler.Marshal(resp)81if err != nil {82log.Fatalf("Failed to marshal: %v", err)83}8485var pretty map[string]interface{}86if err := json.Unmarshal(jsonBytes, &pretty); err != nil {87log.Fatalf("Failed to parse JSON: %v", err)88}8990out, _ := json.MarshalIndent(pretty, "", " ")91fmt.Println(string(out))92}93
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/v2beta2" // 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("Failed to connect: %v", err)51}52defer conn.Close()5354client := pb.NewLiveDataServiceClient(conn)5556parentID := "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"5758req := &pb.ListDynamicFieldsRequest{59Parent: &parentID,60ReadMask: &fieldmaskpb.FieldMask{61Paths: []string{62},63},64}6566ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)67defer cancel()6869resp, err := client.ListDynamicFields(ctx, req)70if err != nil {71log.Fatalf("ListDynamicFields failed: %v", err)72}7374marshaler := protojson.MarshalOptions{75UseProtoNames: true,76EmitUnpopulated: true,77Indent: " ",78}7980jsonBytes, err := marshaler.Marshal(resp)81if err != nil {82log.Fatalf("Failed to marshal: %v", err)83}8485var pretty map[string]interface{}86if err := json.Unmarshal(jsonBytes, &pretty); err != nil {87log.Fatalf("Failed to parse JSON: %v", err)88}8990out, _ := json.MarshalIndent(pretty, "", " ")91fmt.Println(string(out))92}93
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/v2beta2/live_data_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 LiveDataService = proto.sui.rpc.v2beta2.LiveDataService;2829// Create secure client30const client = new LiveDataService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38parent: '0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8',39};4041// Perform gRPC call42client.ListDynamicFields(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('ListDynamicFields 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/v2beta2/live_data_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 LiveDataService = proto.sui.rpc.v2beta2.LiveDataService;2829// Create secure client30const client = new LiveDataService(endpoint, grpc.credentials.createSsl());3132// Add token metadata33const metadata = new grpc.Metadata();34metadata.add('x-token', token);3536// Request payload37const request = {38parent: '0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8',39};4041// Perform gRPC call42client.ListDynamicFields(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('ListDynamicFields Response:');51console.log(JSON.stringify(response, null, 2));52}53});54
1import grpc2import json3from google.protobuf.json_format import MessageToDict4from sui.rpc.v2beta2 import live_data_service_pb2, live_data_service_pb2_grpc567def list_dynamic_fields():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 = live_data_service_pb2_grpc.LiveDataServiceStub(channel)1920parent = "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"2122request = live_data_service_pb2.ListDynamicFieldsRequest(23parent=parent24)2526metadata = [("x-token", token)]2728return stub.ListDynamicFields(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_dynamic_fields()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.v2beta2 import live_data_service_pb2, live_data_service_pb2_grpc567def list_dynamic_fields():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 = live_data_service_pb2_grpc.LiveDataServiceStub(channel)1920parent = "0x27c4fdb3b846aa3ae4a65ef5127a309aa3c1f466671471a806d8912a18b253e8"2122request = live_data_service_pb2.ListDynamicFieldsRequest(23parent=parent24)2526metadata = [("x-token", token)]2728return stub.ListDynamicFields(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_dynamic_fields()41print(parse_response_to_json(response))42except grpc.RpcError as e:43print(f"{e.code().name}: {e.details()}")444546if __name__ == "__main__":47main()48
Don't have an account yet?
Create your Quicknode endpoint in seconds and start building
Get started for free