Skip to content

Proposal: Canton Developer Toolchain (cantonctl + cantonjs)

CLOSEDPull Request
by cgdusek01-04-2026
300K CC requested

Summary

This proposal delivers two complementary layers in the Canton/Splice developer workflow:

  • cantonctl - project-local control plane across sandbox, official LocalNet, and validator-backed Canton/Splice environments. Published 0.3.6.
  • cantonjs - application runtime for participant-connected Ledger API V2 TypeScript code plus focused stable/public Splice add-ons. Published 0.4.0.

cantonctl helps teams move the same project across environments with profiles, runtime inventory, rollout gates and apply surfaces, drift-aware diagnostics, discovery, and stable/public Splice CLI flows.

cantonjs helps teams build participant-connected services and apps with typed Ledger API V2 clients, streaming, testing support, optional React/codegen packages, and focused stable/public Splice add-ons.

Differentiation

  • DPM continues to serve build, test, codegen, sandbox, and Studio launch.
  • Daml Studio continues to serve the canonical IDE workflow.
  • CN Quickstart continues to serve the reference-app and LocalNet path.
  • The official dApp SDK / dApp API / Wallet Gateway and Wallet SDK continue to serve wallet-connected integrations.
  • cantonctl is the project-local control plane around those official runtimes.
  • cantonjs is the application runtime inside participant-connected code once artifacts and connection details already exist.

Current Shipped State

  • cantonctl@0.3.6 ships profile resolution, runtime inventory via status --json, separate app/operator credentials for remote control-plane actions, deploy/promotion/upgrade/reset rollout workflows, diagnostics bundles with drift and last-operation artifacts, approved operator-mode coverage, and stable/public scan, token, ans, and validator traffic-* flows.
  • cantonjs@0.4.0 ships the participant-ledger core plus cantonjs-codegen, cantonjs-react, cantonjs-splice-scan, cantonjs-splice-validator, cantonjs-splice-interfaces, and cantonjs-splice-token-standard.
  • Current compatibility targets are Canton 3.4.x and Splice 0.5.x, with vendored Splice artifacts pinned to 0.5.17.

Funding

  • 300,000 CC across 2 milestones (150,000 CC each)
  • 150,000 CC/month ongoing maintenance

Repositories