What all APIs exposed by every ledger that runs Daml

What all APIs exposed by every ledger that runs Daml
1 Ledger API
2 Deploy API
3 Upload API
4 LedgerDeploy API
5 LedgerUpload API
6 JSON API
7 React libraries
8 Ledger bindings


According to documentation that I have gone through, I feel it should be (1-Ledger API) (6-JsonAPI) (7-React Libraries)
But wanted to know and understand the correct answer

3 Likes

Hi @PGo , welcome to the Daml Forums!

All Daml ledgers expose the Ledger API. That’s pretty much the defining property of being a Daml ledger. All Daml Connect components, including the CLI assistant, the JSON API and react bindings use the Ledger API to communicate with the ledger. So if you type daml deploy, the CLI assistant calls the Package and Party management services of the Ledger API do do its work.

So in short, all of the things you list are available uniformly for all Daml ledgers.

2 Likes

Thanks @bernhard for reply …

so everything in list 1 -8 will be exposed by ledger ?

1 Like

6-8 are separate components that are part of Daml Connect, but communicate with the ledger through the Ledger API only.
I’m not entirely clear to me what you mean by “Upload API” vs “LedgerUpload API”. I assume some of these refer to CLI assistant commands like daml deploy and daml ledger upload-dar, in which case they are also part of Daml Connect, and also just communicate with the ledger through the Ledger API.

1 Like

A post was split to a new topic: Abstract Syntax Tree for Daml

Actually this was one of the question in certification and I was scratching head in confusion as

  1. Question refers to any running ledger ?
  2. whats diff between UploadAPI/LedgerUpload API ? / DeployAPI vs LedgerDeploy API
  3. does it refer to DAML connect / daml assistant commands ?

Hey @PGo most of these are not individually exposed APIs. Daml has two APIs Ledger API and JSON API and each of these have various endpoints you can use to submit and retrieve data from the ledger.

The question refers to any running ledger, and does not refer to daml assistant commands.

1 Like