mirror of
https://github.com/FiloSpaTeam/plutus-pioneer-program.git
synced 2024-11-22 06:42:00 +01:00
No description
code | ||
README.md |
Plutus Pioneer Program
Lectures
-
- Welcome
- The (E)UTxO-model
- Running an example auction contract on a local Playground
- Homework
-
- Triggering change.
- Low-level, untyped on-chain validation scripts.
- High-level, typed on-chain validation scripts.
Code Examples
- Lecture #1: English Auction
- Lecture #2: Simple Validation
Exercises
-
Week #1
- Build the English Auction contract with
cabal build
(you may need to runcabal update
first). - Clone the The Plutus repository, check out the correct commit as specified in cabal.project.
- 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
. - Go to the
plutus-playground-client
folder. - Start the Playground server with
plutus-playground-server
. - Start the Playground client (in another
nix-shell
) withnpm run start
. - Copy-paste the auction contract into the Playground editor - don't forget to remove the module header!
- Compile.
- Simulate various auction scenarios.
- Build the English Auction contract with
-
Week #2
Solutions
Some Plutus Modules
Plutus.V1.Ledger.Contexts
, contains the definition of the context-related types.Plutus.V1.Ledger.Interval
, contains the definition of and helper functions for theInterval
type.Plutus.V1.Ledger.Slot
, contains the definition of theSlot
type.PlutusTx.Data
, contains the definition of theData
type.PlutusTx.IsData.Class
, defines theIsData
class.