Skip to content

Proposal: DPM Components for Deployment, Inspection & Testing

CLOSEDPull Request
by rose222109-07-2026
daml-toolingneeds-champion

Summary

This proposal delivers an open-source suite of DPM components that extends the Canton developer workflow past local testing (dpm newdpm builddpm testdpm sandbox) through live-ledger deployment, inspection, and advanced testing, all as native dpm <command> verbs. It is a thin orchestration layer over the JSON Ledger API and PQS, introducing no new ledger functionality and modifying no Canton internals.

The suite is eight components across nine milestones:

  • Scaffolding — community-publishable project templates via a custom dpm new --template plugin
  • Deploymentdpm upload, dpm deploy orchestration
  • Querying, wallet & submission — the full dpm query group, external-party signing, dpm exercise
  • Transaction explorers — a CLI live tail (dpm query updates --follow) and a visual web UI (dpm explorer)
  • Logging & tracing — structured per-run trace capture with human-readable gRPC/Daml error decoding and a machine-readable schema for downstream AI/LLM tooling
  • Fee & reward estimation — pre-flight dpm estimate for synchronizer traffic cost, CC/USD spend, and app-reward projection, composable into CI cost gates
  • Ledger snapshotsdpm snapshot save/restore, the Canton equivalent of evm_snapshot, scoped to local targets only
  • Property-based & invariant testingdpm fuzz, dpm invariant, and dpm test --table

This directly answers the Foundation's own call for community-built DPM components, which named project templates, deployment helpers, fee estimators, and local dashboards as high-value targets.

Funding

Total: $400,000 USD-equivalent, disbursed in $CC, milestone-gated with no upfront tranche, funding a four-engineer team for 10 months ($10,000/engineer-month). Full milestone breakdown, acceptance criteria, and budget rationale are in the proposal document.

Status

This proposal currently has no champion. Tagging needs-champion for visibility — happy to answer questions from any SIG member or Foundation reviewer in the thread below. Opened as a draft while we gather early feedback before requesting full review.