Skip to content

sandroboehme/plutus-pioneer-program-3rd-iteration

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Plutus Pioneer Program

This repo is a fork of https://github.com/input-output-hk/plutus-pioneer-program.

It contains my solutions and a writeup of the lectures.

Lectures

Code Examples

Exercises

  • Week #1

  • Week #2

    • Fix and complete the code in the Homework1 module.
    • Fix and complete the code in the Homework2 module.
  • Week #3

    • Fix and complete the code in the Homework1 module.
    • Fix and complete the code in the Homework2 module.
  • Week #4

    • Implement function payTrace in the Homework module.
    • Handle exceptions thrown by submitTx in function payContract in the same module.
  • Week #5

    • Implement a Mary-era-style minting policy in the Homework1 module.
    • Fix the token name to the empty ByteString in the NFT contract in the Homework2 module.
  • Week #6

    • Try to replicate what is done in the lecture - minting tokens with the cardano-cli and the PAB.
  • Week #7

    • Implement the game of "Rock, Paper, Scissors" using state machines.
  • Week #8

    • Add a new operation close to the TokenSale-contract that allows the seller to close the contract and retrieve all remaining funds.
    • Modify the tests accordingly.

Some Plutus Modules

  • Ledger.Scripts, contains functions related to untyped Plutus scripts.
  • Ledger.Typed.Scripts, contains functions related to typed Plutus scripts.
  • Plutus.Contract, contains definitions and functions for writing offchain code.
  • Plutus.Contract.StateMachine, contains definitions and functions for working with state machines.
  • Plutus.Contract.Test, contains support for automatic tests.
  • Plutus.Contract.Test.ContractModel, contains support for automatic property-based tests using QuickCheck.
  • Plutus.V1.Ledger.Ada, contains definitions and functions related to ADA-values.
  • Plutus.V1.Ledger.Interval, contains the definition of intervals and functions for working with them.
  • Plutus.V1.Ledger.Value, contains definitions and functions related to values.
  • Plutus.V1.Ledger.Time, contains time-related types and functions.
  • PlutusTx, contains important types like Data and BuiltinData.
  • PlutusTx.IsData.Class, contains the ToData and FromData classes and related functions.
  • Wallet.Emulator, contains types and functions for dealing with wallets.

Additional Resources

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published