Skip to main content

Troubleshooting

dpm install package Says canton-deploy:0.1.1 Was Not Found​

A bare canton-deploy:0.1.1 resolves against Digital Asset's component registry.

Until Canton Deploy is published there, use the full GHCR reference:

components:
- oci://ghcr.io/lync-world/canton-deploy:0.1.1

Then run:

dpm install package

DPM Commands Say a Component Is Not Installed​

If any component listed in daml.yaml is not installed, DPM can refuse commands in that directory.

Run:

dpm install package

or fix/remove the offending component entry.

dpm canton-deploy Not Found​

The component is not installed for the project.

Add it under components and run:

dpm install package

dpm sandbox Is an Unknown Command​

dpm sandbox comes from the canton-open-source component.

Add canton-open-source:<version> under components and run:

dpm install package

Status Cannot Reach Admin API​

Check:

  • adminPort
  • host
  • adminGrpcAuthority when a proxy routes Admin gRPC by name

DAR upload uses the Admin API, so the Admin API must be reachable.

Token Expired or Unauthenticated​

Decode the resolved token:

dpm canton-deploy token --decode --network localnet

Then refresh token, tokenFile, or tokenCommand.

PROTO_DESERIALIZATION_FAILURE on Upload​

Check synchronizerId.

It must use the logical form:

namespace::fingerprint

Drop a trailing ::NN-N suffix from the value shown by status, or omit synchronizerId for a single-synchronizer participant.

run Cannot Reach grpcAuthority​

The grpcAuthority name must resolve to the validator on ledgerPort.

Alternatively, set host and grpcAuthority to the same reachable name.

contracts Returns PACKAGE_NAMES_NOT_FOUND​

Use:

#<package-name>:Module:Template

from daml.yaml.

Do not use the hexadecimal package ID returned by deployment.

Contracts Are Empty After Deployment​

Uploading a DAR does not create contracts.

Run a Daml Script:

dpm canton-deploy deploy   --network localnet   --script My.Module:setup

or:

dpm canton-deploy run My.Module:setup --network localnet

Script Fails with Party already exists​

The party name is also present in config parties, so deploy allocated it before running the script.

Look the party up in the script instead of calling allocatePartyByHint, or remove the name from parties.

JSON API Unreachable​

If Admin and Ledger APIs are working but the JSON API is unavailable, package upload can still succeed.

Check:

  • httpPort
  • httpHost
  • httpUseTls

Then run:

dpm canton-deploy status --network localnet