Learning Plutus

Week 1

What is EUTXO model?

What is definition of EUTXO?

When is spending allowed?

How is Plutus Compiled to Plutus Core?

What is the exact specification of on-chain Plutus Core? Isn’t it just untyped lambda calculus at the end state?

Week 2

What is the difference between UTXO and EUTXO?

What is PlutusTx.Data?

What is PlutusTx.Validator?

What is PlutusTx.Redeemer ?

Can we watch transactions / UTXOs?

Week 3

What is Plutus Script Context?

Why is Plutus Script Context useful?

How to keep track of plutus time / slots

What is located at a Plutus Address

What are Plutus parameterized contracts

Week 4

What are Plutus Monads?

Why do we need these Plutus Monads?

Week 5

Why do we want native tokens?

How do we mint / burn tokens in Plutus?

What is a Value / token bundle in Plutus?

Why do we need minting policies in Plutus?

How do we support NFTs on Cardano ?

Week 6

What are Oracles?

Why are Oracles useful?

How to Implement Oracles on Cardano ?

Week 7

Why are State Machines useful?

How to implement State Machines?

How do we store state of the state machine?

Week 8

Week 9

Week 10

How to implement Uniswap in Plutus?

How to strongly type plutus contracts?

What are validation scripts?

Plutus components

Is Plutus Core pure? It can throw exceptions

How to compile with continuations?

What does a Plutus Contract spit out as Plutus Core?

How do we do continuations in state machine? How can we do this in stateless way but consensually?

Plutus lecture summary

How can we encode state in lambda calculus?

How to target plutus core?

How does Plutus persist state across transactions?