- Part 1 - Welcome and Introduction
- Part 2 - The EUTxO-Model
- Part 3 - Building the Example Code
- Part 4 - Auction Contract in the EUTxO-Model
- Part 5 - Auction Contract on the Playground
- Part 6 - Homework
- Part 1 - Triggering Change
- Part 2 - Low Level, Untyped Validation Scripts
- Part 3 - High Level, Typed Validation Scripts
- Part 4 - Summary
- Part 5 - Homework
- Lecture #1: English Auction
- Lecture #2: Simple Validation
-
Week #1
- Clone the The Plutus-Apps repository, check out the correct commit as specified in cabal.project.
- Install NixOS cross-referencing the following resources.
- https://nixos.org/download.html
- https://docs.plutus-community.com
- A few resources to understand the what and why regarding NixOS
- Set-up IOHK binary caches How to set up the IOHK binary caches. "If you do not do this, you will end up building GHC, which takes several hours. If you find yourself building GHC, stop and fix the cache."
- Enter a
nix-shell
. - Build the English Auction contract with
cabal build
(you may need to runcabal update
first). - Go to the
plutus-playground-client
folder in theplutus-apps
repository. - Start the Playground server with
plutus-playground-server
. - Start the Playground client (in another
nix-shell
) withnpm start
. - Copy-paste the auction contract into the Playground editor, do not forget to remove the module header.
- Compile.
- Simulate various auction scenarios.
-
Week #2
Ledger.Scripts
, contains functions related to untyped Plutus scripts.Ledger.Typed.Scripts
, contains functions related to typed Plutus scripts.PlutusTx
, contains important types likeData
andBuiltinData
.PlutusTx.IsData.Class
, contains theToData
andFromData
classes and related functions.
- The Plutus repository
- The Plutus-Apps repository
- Learn You a Haskell for Great Good: original, remastered and interactive notebook
- Haskell & Cryptocurrencies course Mongolia