DAML Examples
Overview
This repository contains examples for several use cases modeled in DAML. They showcase useful patterns and practices when writing DAML applications. Refer to the readme files for more information.
Prerequisites
Contributing
We welcome suggestions for improvements via issues, or direct contributions via pull requests.
Examples
Airline Seat Allocation
A lean, but somewhat privacy-preserving process to issue airline tickets and allocate seats.
Approval Chain
A three-step, sequential approval process, collecting signatures from approvers along the way.
Auction
An auction model with private bids.
Broadcast
A model showing how a broadcaster can broadcast information to subscribers via the ledger in a non-guaranteed, but efficient manner.
Group Chat
A model demonstrating a distributed group chat application with dynamic, admin-less chat groups.
Chess
A chess game written in DAML.
Crowd Funding
A model for a crowd funding campaign where backers commit Ious to a project. The originator can claim the funds if they surpass a threshold, and funds can be reclaimed if the threshold isn't reached.
Expense Pool
A shared expense pool where expenses are added in form of Ious, which then get split fairly between the partcipants.
Governance
A model demonstrating how on-chain governance can be modeled in DAML. Citizens can vote for the creation of a consititution contract, for the update of the constitution text, or for the upgrade of the constitution contract to a newer version.
Issuer Token
Example of token issuance by a central controlling party.
Onboarding
A task-list app with composable sub-tasks, designed to check off onboarding tasks.
Option
A European style cash settled option.
Shop
A marketplace example where vendors offer items to buyers.
Task Tracking
A Jira-like work tracking model implementing a linear task workflow. Tasks can be created, assigned, reassigned, started and completed.
Tic-Tac-Toe
A model for the Tic-Tac-Toe game for two players playing against each other.
Voting
A simple voting model where ballots are organized around proposals, and decision being taken are represented as contracts on the ledger.