Title DAML Programming
Code
Total Hours 60
Credits 04
Course Objective:
Able to create DLT applications with DAML programing
Able to understand the writing of smart contracts using DAML
Able to Understand the different integrations with blockchain frameworks like Corda,
Hyperledger Fabric and etc.
Able to get understand of deploying applications into various frameworks
Course Outcome:
Explain the concept of Deploying applications in various blockchain frameworks
Understand the concept Templates, Bindings and Integrations
Understand the different libraries using in DAML Programing
Understand the deep understanding of sandbox deployment
Understand the development, Deployment and testing of DLT applications
Module 1: Getting Started with DAML
What is DAML, Install the SDK, App Architecture: Daml model, TypeScript Code Generation, Daml
Changes, Running the New Feature, Messaging UI, MessageList Component, MessageEdit
Component, MainView Component, Running the updated UI.
Module 2: Introduction to DAML
Basic contracts, Testing templates using Daml Script, Data types, Transforming data using choices,
Adding constraints to a contract, Parties and authority, Composing choices, Working with
Dependencies, Functional Programming 101, Intro to the Daml Standard Library, Testing Daml
Contracts.
Module 3: Language reference docs
Overview: template structure, Templates, Choices, Updates, Data types, Built-in functions,
Expressions, Functions, Scenarios, File structure, Packages, Contract keys.
Module 4: Language reference docs
Prelude, [Link], [Link], [Link], [Link], [Link], [Link], [Link],
[Link], [Link], [Link], [Link], [Link], [Link], [Link], [Link],
[Link], [Link], [Link], [Link], [Link], [Link],
[Link], [Link], [Link], [Link], [Link], [Link], [Link], [Link].
Module 5: Design Patterns
Initiate and Accept, Multiple party agreement, Delegation, Authorization
Locking: Locking by archiving, Locking by state, Locking by safekeeping
Diagram legends
Text Books:
1. [Link]
Title DAML Programming Lab
Code
Total Hours 30
Credits 02
List of programs
Write a template using all data types and choices
Write a template by Adding constraints to a contract, Parties and authority and Composing choices
Write any template using Functions, Scenarios, File structure, Packages and Contract keys.
Write a template using all packages of DA
Write a template which is Initiate and accepting two party agreement with scenarios
Write a template for Multy party agreement with scenarios
Develop any template using Design pattern Delegation and Authorization
Develop any template using Design pattern Locking.
Develop an use case for Oil trading with parties Alice and Bob.
i) Alice is a Seller
ii) Bob is a Buyer
iii) Alice and Bob will have initial discussion and conclude to final rate on off ledger
iv) Bob will initiate the Agreement with final rate
v) Alice can accept the agreement and starts the shipment.
vi) Bob has to accept the shipment and Initiate the Payment
vii) Alice should accept the payment and trade will be ended here.