Lecture 10 - DAML Flashcards
What is DAML?
Digital Asset Modeling Language
• Open-source smart contract language to build composable applications on an abstract ledger model.
• Is a statically typed functional language. • Utilizes key components from Haskell.
• Runs on Java Virtual Machine.
• Can use on Amazon Aurora, R3 Corda , Hyperledger Fabric , Hyperledger
Sawtooth.
• Focuses on data privacy and authorization of distributed applications.
• Describes how applications behave (regardless of database/ledger). (portability)
Which components of DAML can you name?
• Party represents a person/legal entity (create contracts and exercise choices).
• Signatories, observers, and controllers are parties involved in actions taken on a contract (control read, write etc.).
• Contract is DAML code you write. (includes:
- contract data (e.g., date, description, parties involved etc.) - roles (signatory, observer)
- choices and their respective controllers)
• Choice is an action taken (by its controller) on a contract.
• Ledger represents database where all contracts are recorded.
What is DAML ledger?
- Offers virtual shared ledger (VSL).
- Enable multi-party workflows.
- Encodes current state of their shared contracts (written in Daml).