/PlutusExperience

Plutus Experience Modules

Primary LanguagePureScript

Plutus Experience

To run anyting on this repository, you'll need to have:

  • 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