Skip to content

Repository files navigation

canton-extending-mainnet

Control center for ChainSafe's work on the Canton CIP "Extending Mainnet: Tokenomics Alignment Across the Entire Canton Network" (Shaul Kfir, Digital Asset).

This repo has almost no product code. It orchestrates, documents, and navigates the initiative: the plans, the architecture, the LocalNet harness, the analysis, the deployment specs, and the coordination with Digital Asset. The actual code lives in the splice/ submodule — Digital Asset's canton-network/splice-multi-sync feature fork, where the PoC is up as draft PRs so it runs DA's CI.

Start here: AGENTS.md — the sibling-project map and navigation guide.

What we're building

Generalize Canton's Global-Synchronizer traffic purchase to dedicated (non-global) synchronizers: burn Canton Coin on the global sync keyed by a dedicated sync id, and that sync's operator grants the purchased traffic on its own sequencer. MVP is no-discount; later come per-synchronizer pricing, transaction-class discounts, staking, and operator rewards.

Details: docs/architecture.md (the map) · docs/design/ (implementation design) · docs/cip/ (CIP writeups) · docs/planning/ (the work breakdown).

Control-center layout

The repo follows a deliberate control-center pattern — a small, uniform structure so any agent or teammate can orient fast:

# Element Here
0 Sibling-project map AGENTS.md — what the sibling repos are + how to navigate
1 Architecture / docs docs/architecture.md, design/, cip/, planning/, localnet.md
2 Deployment deploy/ — consume Splice compose/Helm + operator-node overlay (RFC-001)
3 Agent-navigation APIs/services tools/navigator.sh (skeleton; RFC-002)
4 Centralized telemetry telemetry/ — analytics/logging/telemetry (skeleton; RFC-003)
5 Historical records history/rfcs/, meetings/, experiments/, incidents/, CHANGELOG.md

Plus the working pieces: splice/ (submodule → the code), scripts/ (LocalNet harness), sync-pricing/ (parked off-ledger pricing analysis).

Repos in play

Repo Role
canton-extending-mainnet (this) The control center: docs, plans, harness, analysis, coordination. The issue tracker for all epics: T0 (harness/dev-env), T1 (analysis/DA), E0–E10 (the fork's feature work).
canton-network/splice-multi-sync (DA's fork; the splice/ submodule) The code — DA's multi-sync feature fork of canton-network/splice (monorepo: Daml daml/ + token-standard/, Scala apps/, TS frontends, vendored Canton canton/, Helm cluster/). The PoC ladder lands on the long-running feat/dedicated-sync via stacked PRs that run DA's CI; see the fork's open PRs for what's in flight. (Originally developed on the ChainSafe/splice fork — now superseded by this one.)
ChainSafe/canton-cip-docs Archived — CIP design docs merged here under docs/cip/.

See AGENTS.md for the full sibling list (x402 facilitator, MCP server, burn snapshotter, platform docs, …).

Quick start

  • Orient (people): read AGENTS.md. Agents: run tools/navigator.sh, the navigation tooling (a read-only CLI seed today; RFC-002 graduates it into MCP tools over canton-mcp-server). Agent orientation is a tooling concern, not README prose.
  • Set up + build/test: docs/development.md — Nix/direnv env + the sbt damlBuild/damlTest commands (start here to run the tests).
  • Run LocalNet (Docker; ~10 GB RAM for multi-sync) — drives the splice/ submodule:
    scripts/localnet-up.sh      # then scripts/localnet-e2e.sh   ;   tear down: scripts/localnet-down.sh
    
    Full guide: docs/localnet.md.
  • Work on the code: cd splice, work on a branch, push to canton-network/splice-multi-sync (the submodule's origin), then git add splice here to bump the pointer. Push the submodule before the superproject.
  • Pricing analysis (parked; pure Daml, SDK 3.4.8): cd sync-pricing && daml test.

Status

  • Done: the first two PoC rungs are approved and squash-merged into the fork's feat/dedicated-sync: governance registration (RegisteredSynchronizer + DsoRules_RegisterSynchronizer) and CC-funded buy, which extends the existing AmuletRules_BuyMemberTraffic with a registered-synchronizer gate and adds an operator observer on MemberTraffic. The ladder continues with extension reward reporting (per-round activity commitment + budget-bounded expansion through ProcessRewardsV2) and registration lifecycle (offboard vote), both green on DA's CI and in review. Plus: the multi-sync LocalNet harness (verified) and the shadow pricing engine (green).
  • Next + roadmap: docs/planning/. This README is intentionally a thin front door; the sequenced roadmap and per-workstream detail live there, not here.

Conventions: never reference Claude/Anthropic in commits or PRs; direct-language docs (no em/long dashes). The pricing engine is a parked reference (the MVP reuses Splice's computeSynchronizerFees

  • splitAndBurn unchanged); it also surfaced a CIP Section 6.2 formula bug tracked to raise with DA (see docs/ / sync-pricing/).

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages