Skip to main content

Crate canton

Crate canton 

Source
Expand description

The Canton Network Rust SDK — one-stop entry point.

This crate is a thin facade over the canton-* family: it contains no logic of its own, only re-exports, so cargo add canton brings in the whole SDK as one coherent, version-locked set. Each member crate can also be used directly (cargo add canton-ledger) when only a subset is needed.

ModuleCrateWhat it is
ledgercanton-ledgerThe async Ledger API v2 client (gRPC + JSON + WebSocket)
authcanton-authJWT/OIDC authentication (client-credentials, caching, refresh)
admincanton-adminParty management, user self-inspect, topology read

The shared foundation (canton-core: Config, Error, TLS, retry) is re-exported at the crate root — the same types canton-ledger itself re-exports, so both entry points name identical items.

§Feature flags

Features are forwarded to the crates that implement them:

  • ws — WebSocket streaming for the JSON transport (canton-ledger/ws).
  • otel — OTLP export + W3C trace-context propagation (canton-ledger/otel).

§Quickstart

use canton::ledger::{CantonClient, Config};

let client = CantonClient::connect_lazy(Config::new("http://localhost:3901"))?;
println!("ledger api version: {}", client.version().await?);

This SDK is a community project funded by Canton dev-fund proposal #407; it is not an official Digital Asset product.

Re-exports§

pub use canton_admin as admin;
pub use canton_auth as auth;
pub use canton_ledger as ledger;

Structs§

Config
Configuration for an SDK gRPC client (shared by canton-ledger and canton-admin).
ErrorInfo
Structured google.rpc.ErrorInfo details from a gRPC status: the machine- readable reason, its domain, and error metadata. #[non_exhaustive].
RetryConfig
Retry policy for unary calls.
TlsConfig
TLS settings for the gRPC channel.

Enums§

Auth
How the client authenticates each request.
Error
The single error type for the whole Canton Rust SDK.
ErrorCategory
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.

Traits§

TokenSource
A source of bearer tokens for request authentication.

Type Aliases§

Result
SDK-wide result alias. Re-exported by the facade as canton::Result.