Skip to content
CCPEDIAby Unity Nodes
Needs Champion#93 Pull request

Proposal: Add Modular Canton Topology Composer

Opened 16-03-2026 by pmensik, last activity 29d ago

  1. Incoming6.3 days19-03-2026
  2. Needs Champion210 days so far25-03-2026
  3. In Reviewnot reached
  4. Ready for Votenot reached
  5. Voting Livenot reached
  6. Approvednot reached
Waiting on
Waiting on the committee
idle 194 days
Funding request
140,000 CC
Discussion
2 messages
2 people

Draft Proposal: Modular Local Canton Topology Composer

Summary

This PR submits a Canton Development Fund proposal for the Modular Local Canton Topology Composer (canton-compose).

It proposes building a standalone CLI tool that generates runnable, local Canton environments based on a set of curated topology profiles. The tool outputs plain Docker Compose and Canton HOCON bootstrap configurations.

Motivation

Currently, Canton's local tooling (cn-quickstart / LocalNet) ships an excellent but fixed, opinionated topology (a multiplexed single container). Developers who need to test advanced deployment shapes—such as multi-synchronizer contract transfers, sequencer high-availability, or synchronizer-scoped isolation—must hand-write complex HOCON configurations, wire up compose services, and orchestrate bootstrap scripts from scratch. This is an error-prone, undocumented hurdle for advanced application and infrastructure development.

Proposed Solution

canton-compose deterministically generates configurations for 5 specific, tested profiles:

  1. minimal
  2. two-party
  3. topology-lab (2 participants, 2 independent synchronizers, full mesh)
  4. ha-sequencer (1 synchronizer served by 2 sequencer nodes)
  5. partitioned (isolated synchronizers with zero overlap)

Non-Goals for the initial funding

  • Not a lifecycle manager: It does not wrap up/down commands. It just generates the configurations for developers to run via standard docker compose.
  • Not a Quickstart replacement: This serves teams testing advanced architectural topologies, not initial onboarding.
  • Not a generic wrapper: It embeds Canton-specific domain knowledge to auto-generate valid multi-node .conf settings.

Funding & Timeline

  • Total Ask: 140,000 CC
  • Timeline: ~13 weeks across 4 Milestones
  • Long-term Value: Milestone 4 includes a funded 12-month maintenance SLA to guarantee generator compatibility with new minor/patch Canton releases, addressing the risk of schema drift.

Reviewer Note

The proposal restricts its scope to generation, keeping it distinct from other proposals that are about the management of the LocalNet. The code extraction and YAML generation guarantees are outlined in the specification section.

Milestones 4

  1. Generator Core, Minimal and Two-Party ProfilesWeek 4
  2. Topology-Lab Profile (Multi-Synchronizer)Week 7
  3. HA-Sequencer and Partitioned ProfilesWeek 10
  4. Documentation, Packaging, Maintenance, and Version ValidationWeek 13