Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.canton.network/llms.txt

Use this file to discover all available pages before exploring further.

Introduction

Daml is a smart contract language designed to build composable applications on Canton ledgers. In this module, you will learn about the structure of a Daml ledger and how to write Daml applications that run on the Canton Network by building an asset-holding and trading application. You will gain an overview of the most important language features and how to use Daml’s developer tools to write, test, compile, package and ship your application.

Prerequisites

  • You have installed dpm

Loading Example Code

Each section in this module presents a new self-contained application with more functionality than the previous section. You can load the code for each section using dpm. For example:
# Load the contract templates example
dpm new intro-contracts --template daml-intro-contracts

# Load the choices example
dpm new intro-choices --template daml-intro-choices

Next Steps

Continue to Contract Templates to start building Daml smart contracts. If you’re new to functional programming or want a refresher on Daml’s syntax (types, pattern matching, records, type classes), see Language Fundamentals first. If you have experience with Haskell or other ML-family languages, you can skip it and refer back as needed.