Table of Contents |
---|
Key Points
...
Reference_description_with_linked_URLs_______________________ | Notes______________________________________________________________ |
---|---|
https://daml.com/blog/engineering/public-blockchains-and-distributed-ledgers?utm_campaign=coschedule&utm_source=linkedin_company&utm_medium=Daml | |
DAML-DigitalAssetSDK.pdf | |
https://daml.com/ | |
daml-notes.pdf | |
daml-101blockchains.com-DAML- The Language For Smart Contracts.pdf | |
https://medium.com/daml-driven/tagged/smart-contracts | DAML online syntax |
https://kctheservant.medium.com/asset-modeling-in-daml-tutorial-7-deep-dive-part-1-8f38756b2473 | DAML bike repair app example 2021 |
Key Concepts
Project Management
...
- set research investment and decision gateways for this process
- id ALL the functional, non-functional use cases in our current production solutions
- id any new critical requirements not met in current solutions that are a priority based on regulations, compliance, business value, risk
- review the candidate DLT solutions and their runtimes and integrations in detail
- map to a candidate DLT platform and environment to see what platform provides and what we need to provide
- determine any delivery partners needed for the platform
- determine long-term support for any external services, products that we integrate
- design E2E deployment and operational support needs for the solution
- forecast viability, growth, risks of the external product or platform: community, costs, risks, quality, support etc
- perform the right evaluations: POT, POC, POV
Why DAML?
The open source Daml smart contract language, described in more detail below under “Daml Smart Contracts,” forms the core of the Daml application stack. The language is a purpose-built Domain Specific Language (DSL) designed to encode the shared business logic of the application. It provides developers primitives to safely and succinctly describe core concerns like data types, privacy, and authorization rules without concerning themselves with the ultimate deployment target. In terms of the virtual shared ledger, it expresses who may write what events, and to whom they are distributed.
Daml abstracts the event sourcing model employed by blockchains and distributed ledgers. Event sourcing means that the current state of the system can be computed from the log of past events. Instead of keeping a global event log, Daml provides each stakeholder a consistent view on a virtual shared event log, called the virtual shared ledger, while distributing data on a strict need-to-know basis under the hood. This creates a system in which each participant has a consistent view of the (virtual) global system state, consisting of exactly the data they are entitled to. The virtual shared ledger is described in Daml’s Ledger Model and implemented in the Daml smart contract language and associated Ledger API.
The Ledger API is the primary API to interact with Daml smart contracts and the virtual shared ledger. It is a high-performance reactive gRPC-based streaming API. It allows applications to subscribe to events that they are permissioned to view, get their current state, or submit commands to write new events. As such, the Ledger API and smart contracts are the primary mechanisms for abstracting away concrete blockchains or databases to instead develop against a virtual shared ledger. Any node in a network that exposes Daml’s Ledger API—and thus gives access to the shared ledgers—is called a participant node as it allows participation in the network.
To enable an infrastructure like a blockchain or database to run Daml applications, it needs a Daml Driver that allows a matching participant node to connect into the network. Daml Drivers do not store any data and are typically deployed per node of the underlying blockchain or database. There are already numerous drivers, both open source and commercial, available in the Daml ecosystem, with more under development. See https://daml.com for an overview.
The deployed Daml smart contracts as well as everything on top of the Ledger API are considered part of a Daml application. Daml Connect is a suite of tools that assists in the development of full-stack Daml applications. Daml Connect contains an SDK that includes an Integrated Development Environment (IDE) for smart contract development, a suite of runtime components, and integration libraries spanning all the way to user interfaces.
General Notes on DAML work
...