coddeys / PlutusExperience

Plutus Experience Modules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

Module 9 - Going Live

  • Untyped vs Typed Validation Scripts
  • Running the contract in the testnet with cardano-cli
  • Testing with Plutip

Module 10 - A Vesting Contract

  • Script Contexts
  • Datums
  • Redeemer
  • Handling Time (Slots)
  • Building the UI

Module 11 - High Ground

  • Metaprogramming in Haskell
  • Parameterized contracts
  • Running the parameterized contract in CTL

Module 12 - (Non/)Fungible Tokens

  • Values
  • Minting Policy
  • NFT's
  • Building a NFT Minting website

About

Plutus Experience Modules


Languages

Language:Nix 49.5%Language:PureScript 37.8%Language:JavaScript 9.7%Language:HTML 2.4%Language:Shell 0.6%