Expand description
Canton administrative client: party management, user self-inspect, and topology read.
Canton exposes these across two gRPC endpoints, so this crate provides two clients:
AdminClient— party management (PartyManagementService) and user self-inspect (UserManagementService), served on the Ledger API port (e.g.:3901), the same channel/auth as the ledger client. Party admin RPCs require theParticipantAdminright; self-inspect (AdminClient::current_user/AdminClient::current_user_rights) works with any authenticated token.TopologyClient— topology read (party→participant mappings, namespace delegations, vetted packages) viaTopologyManagerReadService, served on the Canton admin API port (e.g.:3902).
Both build on the shared canton_core::Config (endpoint, auth, TLS,
retry).
§Scope
Party management here is allocation and discovery: allocate a party,
list the parties a participant knows, look specific ones up. Updating a
party’s details (UpdatePartyDetails), the identity-provider fields, and
the participant-permission options of AllocateParty are deliberately not
wrapped — Milestone 1 covers the client surface an application needs to act
on the ledger, and party administration beyond that belongs to the
operator tooling rather than to an SDK’s first release. Anything not
wrapped is still reachable through canton_proto on the same channel.
use canton_admin::{AdminClient, Config};
let admin = AdminClient::connect_lazy(Config::new("http://localhost:3901"))?;
let me = admin.current_user().await?;
println!("acting as: {:?}", admin.acting_parties().await?);Modules§
- proto
- Generated Ledger API admin protobuf types (party & user management).
- protocol_
proto - Generated Canton protocol types (topology mapping items).
- topology_
proto - Generated Canton admin-API topology types (query/result envelopes).
Structs§
- Admin
Client - A client for Canton’s Ledger-API admin services:
PartyManagementServiceandUserManagementService. - Config
- Configuration for an SDK gRPC client (shared by
canton-ledgerandcanton-admin). - Entry
- One topology mapping result: the mapping
itemplus itsBaseResultcontext(store, validity window, serial, …).#[non_exhaustive]so fields can be added without a breaking change. - Error
Info - Structured
google.rpc.ErrorInfodetails from a gRPC status: the machine- readablereason, itsdomain, and errormetadata.#[non_exhaustive]. - External
Party Topology - What the participant will do with an external party, once it is asked to.
- Resource
Info - A resource a failure is about, from a
google.rpc.ResourceInfodetail on a gRPC status or an entry of a JSON API error body’sresources.#[non_exhaustive]. - Retry
Config - Retry policy for unary calls.
- TlsConfig
- TLS settings for the gRPC channel.
- Topology
Client - A client for Canton’s
TopologyManagerReadService(admin API).
Enums§
- Auth
- How the client authenticates each request.
- Error
- The single error type for the whole Canton Rust SDK.
- Error
Category - Canton’s error categories — the coarse classification every Ledger API
error carries (
ErrorInfo.metadata["category"]), which the error-code documentation defines retryability on.#[non_exhaustive]: Canton may add categories. - Package
Status - Store
- Which topology store to query.
Type Aliases§
- Result
- SDK-wide result alias. Re-exported by the facade as
canton::Result.