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
- Testing with Plutip
- Script Context
- Handling Time (Slots)
- Building the contract and tests
- Building the Vesting Contract UI
- Parameterized contracts (Plutus and CTL)
- Values
- Minting Policy
- NFT's
- Building a NFT Minting website