Rust SDK for Canton Network #407 - Milestone 1: Core Ledger API Client, Auth & PoC
Milestone 1: Core Ledger API Client, Auth & PoC
- Estimated delivery: Month 1.5 · Hard deadline: 2 months from grant approval.
- Estimated effort: ~40 person-days.
- Deliverables:
- canton-ledger async client (gRPC + JSON): command submission (submit / submitAndWait) and completion, ACS and update streaming and paging, reverse-order queries, event query, with correct change-ID de-duplication, command recovery via the completion endpoint, resilient/resumable streams, retriable-vs-non-retriable error classification, and TLS (mutual + server-side). - OpenTelemetry tracing and metrics plus trace-id-aware structured logging across both transports. - canton-auth JWT/OIDC (client-credentials, token refresh, JWT injection) with provider presets. - canton-admin (initial slice): party allocation/management (PartyManagementService) and topology read (TopologyManagerReadService) — party-to-participant mappings, namespace delegations, and vetted packages. - First crates.io release; quickstart; working PoC submitting and reading a transaction on LocalNet/DevNet. - canton-* namespace confirmation with the Foundation.
- Verification: committee or delegate confirms crates install, tests pass, and the PoC submits and reads a transaction end to end.
| Milestone | Payment | % of total | |---|---|---| | M1 — Core client, auth, PoC | 90,000 CC upon committee acceptance | ~7% |
_Originally posted by @pedrodneves in https://github.com/canton-foundation/canton-dev-fund/issues/407#issuecomment-4979832855_