π Learning Outcomes
By the end of this module, participants will be able to:
- Explain the role of smart contracts in decentralized applications on Cardano.
- Distinguish between the Plutus, Aiken, and Marlowe frameworks.
- Choose the most appropriate contract framework based on their use case.
- Design and test basic contracts using Cardano tooling and playgrounds.
- Implement credential checks, milestone conditions, and fund release logic.
π§ Module Overview
Smart contracts define the logic of decentralized systems. In Cardano, they are executed using the Extended UTXO (eUTXO) model, which provides higher security and determinism compared to traditional account-based models. This module gives you hands-on experience with:
- Plutus β Cardanoβs original smart contract language built on Haskell.
- Marlowe β A visual/DSL framework for financial contracts.
- Aiken β A modern, developer-friendly language compiling to Plutus Core.
Each approach is designed to serve different technical levels and use cases.
π Section 1: What is a Smart Contract?
Smart contracts are self-executing programs deployed on a blockchain. They are triggered by transactions and control the flow of assets or data.
On Cardano, smart contracts use the eUTXO model, where logic is attached to outputs. A smart contract consists of:
- Datum β Data carried by the output (e.g., a beneficiaryβs wallet or credential hash).
- Redeemer β Data supplied by the user attempting to spend the output.
- Validator β The logic that determines whether the transaction is allowed.
π‘ Unlike Ethereum, Cardano contracts are deterministic, meaning their behavior is predictable and guaranteed to complete or fail cleanly.