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 todarartifact—validated existence inside SDK before POST.submissionId(optional) —submission_idquery dedupe helper when Canton recognizes duplicates.vetAllPackages(optional boolean) — Defaultstrue; setfalseto bypass simultaneous vetting/upgrades when coordinating offline tooling.synchronizerId(optional) —synchronizerIdquery 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.