When daml is deployed on fabric, what is stored on the database? What is stored on the chain?

When daml is deployed on fabric, what is stored on the database? What is stored on the chain?

1 Like

HI @meet in the DAML on Fabric integration there is the Fabric database (currently LevelDB by default) which is the primary persistence mechanism for the Fabric chain, and separately there is a Postgres DB that stores the DAML Ledger API index database.

I presume the question is primarily focused on the Fabric side of things : essentially the Fabric database is used as the persistence mechanism for the Ledger API-compliant integration, and therefore the actual payload persisted to the database is an opaque representation of the protobuf key/value representation of DAML ledger api payloads for packages, party allocation and transactions.

From an application integration perspective, and from the perspective of external interrogation of the system, all querying and interaction with the ledger is via the DAML gRPC Ledger API.

It is possible to decode the opaque payloads that are stored on chain using DAML specific APIs, but the intent is that this should not be necessary operationally or from a user perspective based on the above statement about Ledger API being the integration API interface of choice.

-Brian

Thanks @sormeter for the explanation!