To run anyting on this repository, you'll need to have:
- Nix
- IOG Nix Cache - no strict required, but highly recommended
- GNU/Linux (it might work on other systems, not tested)
- Introduction
- Background
- Program goals
- Requirements
- Materials
- The EUTxO Model
- Nix language basics
- Plutus Emulator
- Simulating a simple contract
- Introduction to PureScript
- Why PureScript
- Types
- Functions and Currying
- Pattern Matching
- Algebric Data Types
- Kinds
- Language Reference
- Try PureScript
- Building a Nix flake for a PureScript project
- Let in, case of and anonymous functions
- Infix Function Application
- Function composition
- Writing the HTML of our Web App
- Typeclasses
- Forall
- Semigroup and Monoids
- Foldable
- Functors
- UTxO transaction builder
- Apply and Applicative
- Bind, Do notation
- Monads
- IO/Effect
- Contract monad
- The Validator
- Nix overlays
- Building a Nix flake for a Plutus project
- Compiling to Plutus Core
- Building a transaction and using the Contract
- Row Types and Records
- MonadEffect
- Aff and MonadAff
- PureScript Halogen
- Web App to show Wallet Funds
- Off-chain with Cardano-Transaction-Lib
- Building a web app to test the contract
- Integrating with a Wallet
- Untyped vs Typed Validation Scripts
- Running the contract in the testnet with cardano-cli
- Testing with Plutip
- Script Contexts
- Datums
- Redeemer
- Handling Time (Slots)
- Building the UI
- Metaprogramming in Haskell
- Parameterized contracts
- Running the parameterized contract in CTL
- Values
- Minting Policy
- NFT's
- Building a NFT Minting website