Skip to content

feat: add Canton Network connector #4700

Description

@RafaelAPB

Problem

Hyperledger Cacti currently lacks a ledger connector for the Canton Network (Digital Asset's privacy-enabled blockchain platform built on Daml). As enterprise adoption of Canton grows—especially in financial-services use cases such as tokenized assets, digital cash, and synchronized ledgers—interoperability with Canton becomes increasingly relevant.

A Canton connector would enable Cacti users to incorporate Canton Network use cases into existing interoperability workflows without having to build and maintain a separate integration outside of Cacti.

A few desired features:

  • Invoke Daml contracts or query ledger state on a Canton node via Cacti's unified API.
  • Participate in cross-chain asset transfers involving Canton as a source or destination ledger.
  • Monitor Canton ledger events (new transactions, contract creations/archives) through a standard WatchBlocks interface.

Proposed solution

Implement a new package cactus-plugin-ledger-connector-canton following the existing IPluginLedgerConnector contract and patterns established by connectors such as cactus-plugin-ledger-connector-besu .

High-level scope:

  • Canton gRPC / HTTP JSON-API client — wrap Canton's Ledger API (gRPC) or HTTP JSON API to submit and query Daml contracts.
  • Create Canton AIO (i.e., a lightweight Canton sandbox image for integration tests (similar to existing cactus-test-tooling helpers)
  • IPluginLedgerConnector implementation — expose transact, runTransaction, getConsensusAlgorithmFamily, and related standard methods.
  • WatchBlocksV1 endpoint — stream Canton ledger events (transaction trees / flat transactions) as Cacti block events.
  • Unit and integration tests — Jest test suite covering happy-path contract invocation, event streaming, and error cases.
  • Documentation — README and MkDocs page describing configuration, supported Canton versions, and one usage example in cacti demos.

Alternatives considered

No response

Affected package(s)

No response

Additional context

Canton Network: https://www.canton.network/
Canton / Daml Ledger API reference: https://docs.daml.com/app-dev/ledger-api.html
Digital Asset Canton SDK: https://docs.digitalasset.com/canton/
Existing connector for reference: packages/cactus-plugin-ledger-connector-corda
Canton sandbox Docker image: digitalasset/canton-open-source (Apache-2.0 licensed variant)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    P3Priority 3: MediumTriage_ReadyIssue approved to be worked onenhancementNew feature or request

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions