Skip to content

Prove conformance on a live Canton node and document the project #23

Closed
13 of 14 issues completed
Closed

Description

@lmcorbalan

Objective

Prove the token and the registry service actually work against a live Canton node, exercise the upstream CN Token Standard CLI against an instrument, and document the project well enough for a new contributor to run it.

Rationale

Everything to date is verified by Daml scripts and in-memory service tests. Neither touches a real participant, and the review already identified two concrete reasons the service would fail on a live node: the choice-context routes are configured with interface ids while the ledger client only ever builds a template filter, and the active-contract query runs at offset zero. Both are invisible to the current tests because the stubs return whatever they are given. Until a real node is in the loop, "green" means very little, and the standard-compliance claim is unproven until a registry-agnostic client reads our holdings.

Scope

In scope:

  • A sandbox runbook and a seed script that produces an operator, a registry, and one instrument
  • Fixing the interface-versus-template filter and the active-contract offset
  • A guarded end-to-end transfer driven through the registry HTTP service
  • Running @canton-network/token-standard-cli against a canton-token-forge instrument and recording the results
  • AGENTS.md, docs/ARCHITECTURE.md, and an expanded README.md

Out of scope:

  • Production deployment, container images, and orchestration manifests
  • Performance and load testing
  • Any new token feature

Architecture & technical considerations

  • The end-to-end test must be guarded: green when a sandbox is reachable, skipped otherwise, so CI without a participant stays meaningful.
  • The two live-node defects are entangled and should be resolved together with the environment variable naming, since the current *_INTERFACE_ID names actively mislead the operator into the broken configuration.
  • The JSON Ledger API v2 envelope and AnyValue encoding have never been checked against a real node. Confirm them against the participant's own OpenAPI before assuming the client is correct.
  • The CLI is registry-agnostic and reads the standard interfaces, so it should work against our instrument unchanged. If it does not, that is a conformance defect on our side.

Dependencies

Depends on the Daml token model and registry HTTP service epics. The two live-node defects block the end-to-end test and the CLI conformance check.

Issue breakdown

Acceptance criteria

  • A sandbox runbook and seed script exist and are documented
  • A guarded end-to-end transfer test runs green against a live sandbox
  • The token-standard CLI decodes our holdings and a completed transfer, with results recorded in docs/CONFORMANCE.md
  • AGENTS.md, docs/ARCHITECTURE.md, and README.md onboard a fresh contributor
  • The registry service works against a live participant with no code changes beyond configuration

Activity

  1. added
    epicLarge body of work broken into smaller issues
    priority: highMust be addressed in current sprint
    on Jul 22, 2026
  2. moved this from Backlog to In progress in Canton - dAppBooster (#390)on Aug 4, 2026
  3. self-assigned this
    on Aug 6, 2026
  4. lmcorbalan commented on Aug 25, 2026

    @lmcorbalan
    CollaboratorAuthor

    Closed with #43 still open

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

Metadata

Metadata

Assignees

Labels

epicLarge body of work broken into smaller issuespriority: highMust be addressed in current sprint

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions