/ex-models

Primary LanguageHaskellApache License 2.0Apache-2.0

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.

Project Readme

Approval Chain

A simple three-step, sequential approval process, collecting signatures from approvers along the way.

Project Readme

Broadcast

A model showing how a broadcaster can broadcast information to subscribers via the ledger in a non-guaranteed, but efficient manner.

Project Readme

Group Chat

A model demonstrating a distributed group chat application with dynamic, admin-less chat groups.

Project Readme

Chess

A chess game written in DAML.

Project Readme

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.

Project Readme

Expense Pool

A shared expense pool where expenses are added in form of Ious, which then get split fairly between the partcipants.

Project Readme

Issuer Token

Example of token issuance by a central controlling party.

Project Readme

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.

Project Readme

MongoDB ODS

A simplified demo covering the use of MongoDB as an operational data store to capture events streamed from a DAML Ledger and to run analytics using native MongoDB aggregation pipelines.

Project Readme

Onboarding

A simple task-list app with composable sub-tasks, designed to check off onboarding tasks.

Project Readme

Option

A simple European style cash settled option.

Project Readme

Task Tracking

A Jira-like work tracking model implementing a linear task workflow. Tasks can be created, assigned, reassigned, started and completed.

Project Readme

Tic-Tac-Toe

A model for the Tic-Tac-Toe game for two players playing against each other.

Project Readme

Voting

A simple voting model where ballots are organized around proposals, and decision being taken are represented as contracts on the ledger.

Project Readme