Skip to content

Reference

ledger.uploadDarFile

POST /v2/packages — upload DAR bytes read from disk with optional vetting query knobs.

Reads filePath with fs.readFileSync, streams application/octet-stream bodies with bearer authorization—distinct from interactive interactiveSubmissionUploadDar accepting Buffer in-memory.

Receiver: await canton.ledger.uploadDarFile

Setup

import { Canton } from '@fairmint/canton-node-sdk';

const canton = new Canton({
  network: 'devnet',
  provider: '5n',
  partyId: 'OWN_PARTY_ID',
});

Minimal example

await canton.ledger.uploadDarFile({
  filePath: './packages/example.dar',
});

Parameters — UploadDarFileParams

  • filePath (required string) — Local filesystem path to dar artifact—validated existence inside SDK before POST.
  • submissionId (optional)submission_id query dedupe helper when Canton recognizes duplicates.
  • vetAllPackages (optional boolean) — Defaults true; set false to bypass simultaneous vetting/upgrades when coordinating offline tooling.
  • synchronizerId (optional)synchronizerId query when Canton expects vetting scope pinning.

Returns — UploadDarFileResponse

Acknowledgement / ingestion summaries emitted via Canton OpenAPI typing.

Errors and pitfalls

Throws Error locally when filePath missing before hitting Ledger JSON API—avoid SSR contexts lacking filesystem access.

Auth and party

Bearer credential permitting artifact ingestion privileges.

See also

Source

operations/v2/packages/post.ts