Proposal: Canton Developer Toolchain (cantonctl + cantonjs)
CLOSEDPull Request
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.
cantonctlis the project-local control plane around those official runtimes.cantonjsis the application runtime inside participant-connected code once artifacts and connection details already exist.
Current Shipped State
cantonctl@0.3.6ships profile resolution, runtime inventory viastatus --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/publicscan,token,ans, andvalidator traffic-*flows.cantonjs@0.4.0ships the participant-ledger core pluscantonjs-codegen,cantonjs-react,cantonjs-splice-scan,cantonjs-splice-validator,cantonjs-splice-interfaces, andcantonjs-splice-token-standard.- Current compatibility targets are Canton
3.4.xand Splice0.5.x, with vendored Splice artifacts pinned to0.5.17.
Funding
- 300,000 CC across 2 milestones (150,000 CC each)
- 150,000 CC/month ongoing maintenance
Repositories
- merged-one/cantonctl - npm:
cantonctl@0.3.6 - merged-one/cantonjs - npm:
cantonjs@0.4.0