Cardano Interview Questions - Medium

Medium-level Cardano interview questions covering advanced Plutus development and optimization.

Q1: How do you optimize Plutus contract execution costs?

Answer:

Optimization:

  • Minimize on-chain code
  • Use off-chain code when possible
  • Optimize datum/redeemer size
  • Batch operations

Q2: How do you implement complex state machines in Plutus?

Answer:

State Machine:

1data State = State1 | State2 | State3
2data Transition = Transition1 | Transition2
3
4transition :: State -> Transition -> Maybe State
5transition State1 Transition1 = Just State2
6transition State2 Transition2 = Just State3
7transition _ _ = Nothing

Q3: How do you handle time-locked transactions?

Answer:

Time Locks:

1{-# INLINABLE timeLocked #-}
2timeLocked :: POSIXTime -> ScriptContext -> Bool
3timeLocked deadline ctx =
4    txInfoValidRange ctx `contains` (from deadline)

Related Snippets