Daml Ledger Model Concepts¶
Daml Ledgers enable multi-party workflows by providing parties with a virtual shared ledger, which encodes the current state of their shared contracts, written in Daml. At a high level, the interactions are visualized as follows:
The Daml ledger model defines:
- what the ledger looks like - the structure of Daml ledgers
- who can request which changes - the integrity model for Daml ledgers
- who sees which changes and data - the privacy model for Daml ledgers
The below sections review these concepts of the ledger model in turn. They also briefly describe the link between Daml and the model.
- Structure
- Integrity
- Causality and Local Daml Ledgers
- Causality Examples
- Stakeholders of a Contract See Creation and Archival in the Same Order
- Signatories of a Contract and Stakeholder Actors See Usages After the Creation and Before the Archival
- Commits Are Atomic
- Non-Consuming Usages in Different Commits May Appear in Different Orders
- Out-of-Band Causality Is Not Respected
- Divulged Actions Do Not Induce Order
- The Ordering Guarantees Depend on the Party
- Causality Graphs
- Local Ledgers
- Causality Examples
- Privacy
- Daml: Define Contract Models Compactly
- Exceptions
- Identity and Package Management
- Time on Daml Ledgers
- Smart Contract Upgrade In Depth
- Static Checks
- Packages
- Modules
- Templates
- Template Parameters
- Template Keys
- Template Choices
- Template Choices - Parameters
- Template Choices - Return Type
- Data Types
- Data Types - Records
- Data Types - Variants
- Data Types - Enums
- Data Types - Type References
- Data Types - Builtin Types
- Data Types - Parameterized Data Types
- Data Types - Applied Parameterized Data Types
- Interface and Exception Definitions
- Interface Instances
- Data Transformation: Runtime Semantics
- Static Checks