En-0003-Plutus Haskell Course › 1. Plinth/Plutus and the On-Chain Validator Model › Plinth/Plutus and the On-Chain Validator Model
Learning viewShow only the learning panels you need.

Plinth/Plutus and the On-Chain Validator Model

1. Plinth/Plutus and the On-Chain Validator Model · 0 min · Haskell / Plutus

On-chain scope: This course teaches validator/minting-policy logic. Off-chain transaction builders are discussed only when needed to understand the data or constraints an on-chain script must verify independently.

Plinth/Plutus and the On-Chain Validator Model

Start with the execution boundary: an on-chain script is deterministic validation logic compiled from Haskell/Plinth into Plutus Core. The course concentrates on validators and minting policies; off-chain builders are mentioned only when they explain what data the validator receives.

What to learn

  • Validator inputs are datum, redeemer and transaction context.
  • The same transaction can satisfy multiple scripts, each validating only its own rules.
  • On-chain code must be deterministic and budget-aware.
  • V1 and V2 expose related ledger types but V2 models newer ledger features.

Main tutorial source

Coxygen Global — Plinth/Plutus

Supporting V2 source

IOG Plutus Pioneer Program — fourth iteration. The supplied fourth-iteration material uses PlutusV2/Plinth examples; use it to compare the older V1 module tutorial with V2 code.

Reference code

Version note

This chapter is tagged V1/V2. The course intentionally teaches the source-era V1/V2 APIs for understanding and migration. Re-test imports and serialization against the exact Plutus/Plinth version used by your deployment.

On-chain practical tasksLocal progress: 0%

PHC1T1 — Practical Task 1

Annotate the three arguments of an untyped validator and explain what each represents.

PHC1T2 — Practical Task 2

Rewrite an always-succeeds validator so it rejects one chosen redeemer.

PHC1T3 — Practical Task 3

Draw the path Haskell/Plinth → compiled script → script hash/address → transaction witness.

PHC1T4 — Practical Task 4

Compare what belongs on-chain versus what belongs in a transaction-building client.

Compiler note: Compile and test this code in a Plutus/Plinth environment such as the supplied Plutus Pioneer fourth-iteration dev setup. The LMS editor stores source but does not pretend ordinary browser GHC has Plutus libraries.
Code LabReady
Code output will appear here.
Plutus Source Lab — Plinth/Plutus and the On-Chain Validator Model: Compile and test this code in a Plutus/Plinth environment such as the supplied Plutus Pioneer fourth-iteration dev setup. The LMS editor stores source but does not pretend ordinary browser GHC has Plutus libraries.