Cardano Interview Questions - Easy

Easy-level Cardano interview questions covering blockchain basics, Plutus, and development.

Q1: What is Cardano and how does it work?

Answer:

Cardano is a proof-of-stake blockchain platform.

Key Features:

  • Ouroboros: Proof-of-Stake consensus
  • Plutus: Smart contract language
  • Formal Verification: Mathematically verified
  • Research-Driven: Peer-reviewed

Q2: What is Plutus and how do you write smart contracts?

Answer:

Plutus is Cardano's smart contract language (Haskell-based).

Basic Contract:

1{-# INLINABLE mkValidator #-}
2mkValidator :: Data -> Data -> Data -> ()
3mkValidator _ _ _ = ()
4
5validator :: Validator
6validator = mkValidatorScript $$(PlutusTx.compile [|| mkValidator ||])

Contract Structure:

  • Validator: On-chain code
  • Datum: Contract state
  • Redeemer: Spending condition

Q3: What are UTXOs and how do they work?

Answer:

UTXO Model:

  • Unspent Transaction Outputs
  • Each output can be spent once
  • Similar to Bitcoin model
  • More privacy than account model

Transaction:

  • Consumes UTXOs (inputs)
  • Creates new UTXOs (outputs)
  • Must balance (inputs >= outputs)

Q4: How does Ouroboros consensus work?

Answer:

Ouroboros:

  • Proof-of-Stake
  • Slot leaders produce blocks
  • Epochs and slots structure
  • Energy efficient

Staking:

  • Stake ADA to pools
  • Pools produce blocks
  • Rewards distributed to delegators

Q5: How do you interact with Cardano?

Answer:

Using cardano-cli:

 1# Query balance
 2cardano-cli query utxo --address $ADDRESS
 3
 4# Build transaction
 5cardano-cli transaction build \
 6    --tx-in $TXIN \
 7    --tx-out $ADDRESS+1000000 \
 8    --out-file tx.raw
 9
10# Sign and submit
11cardano-cli transaction sign --tx-body-file tx.raw --out-file tx.signed
12cardano-cli transaction submit --tx-file tx.signed

Q6: What are Cardano native tokens?

Answer:

Native Tokens:

  • Built into protocol (not smart contracts)
  • Policy IDs define tokens
  • Minting and burning
  • No gas fees for transfers

Minting:

1-- Define minting policy
2policy :: ScriptContext -> Bool
3policy ctx = True  -- Simple policy
4
5-- Mint tokens

Q7: How do you test Plutus contracts?

Answer:

Testing:

1import Plutus.Contract.Test
2
3testContract :: EmulatorTrace ()
4testContract = do
5    -- Test logic
6    assertContractState

Emulator:

  • Local testing environment
  • Simulate transactions
  • Test contract logic

Q8: What is the difference between Cardano and Ethereum?

Answer:

Cardano:

  • UTXO model
  • Proof-of-Stake
  • Research-driven
  • Formal verification

Ethereum:

  • Account model
  • Proof-of-Work (moving to PoS)
  • Faster development
  • Larger ecosystem

Q9: How does Cardano governance work?

Answer:

Voltaire:

  • Treasury system
  • Voting on proposals
  • Community-driven
  • Catalyst project

Voting:

  • Stake-based voting
  • Proposals funded from treasury
  • Community decides direction

Q10: How do you deploy Plutus contracts?

Answer:

Deployment:

 1# Compile contract
 2cabal build
 3
 4# Create script address
 5cardano-cli address build \
 6    --payment-script-file script.plutus \
 7    --out-file script.addr
 8
 9# Deploy
10cardano-cli transaction submit \
11    --tx-file deploy.signed

Related Snippets