plutus-pioneer-program/README.md

48 lines
2 KiB
Markdown
Raw Normal View History

2021-04-08 12:07:47 +02:00
# Plutus Pioneer Program
## Lectures
- [Lecture #1](https://youtu.be/IEn6jUo-0vU)
- Welcome
- The (E)UTxO-model
- Running an example auction contract on a local Playground
- Homework
2021-04-13 12:48:07 +02:00
- [Lecture #2](https://youtu.be/E5KRk5y9KjQ)
- Triggering change.
- Low-level, untyped on-chain validation scripts.
- High-level, typed on-chain validation scripts.
2021-04-08 12:07:47 +02:00
## Code Examples
- Lecture #1: [English Auction](code/week01)
2021-04-08 12:15:17 +02:00
## Exercises
- Week #1
- Build the [English Auction](code/week01) contract with `cabal build` (you may need to run `cabal update` first).
2021-04-08 12:15:17 +02:00
- Clone the [The Plutus repository](https://github.com/input-output-hk/plutus), check out the correct commit
as specified in [cabal.project](code/week01/cabal.project).
2021-04-09 09:36:15 +02:00
- Set-up IOHK binary caches [How to set up the IOHK binary caches](https://github.com/input-output-hk/plutus#iohk-binary-cache). "If you do not do this, you will end up building GHC, which takes several hours. If you find yourself building GHC, STOP and fix the cache."
2021-04-08 12:15:17 +02:00
- Enter a `nix-shell`.
- Go to the `plutus-playground-client` folder.
- Start the Playground server with `plutus-playground-server`.
- Start the Playground client (in another `nix-shell`) with `npm run start`.
- Copy-paste the auction contract into the Playground editor - don't forget to remove the module header!
- Compile.
- Simulate various auction scenarios.
2021-04-12 11:29:45 +02:00
## Some Plutus Modules
- [`PlutusTx.Data`](https://github.com/input-output-hk/plutus/blob/master/plutus-tx/src/PlutusTx/Data.hs), contains the definition of the `Data` type.
2021-04-12 22:59:51 +02:00
- [`PlutusTx.IsData.Class`](https://github.com/input-output-hk/plutus/blob/master/plutus-tx/src/PlutusTx/IsData/Class.hs), defines the `IsData` class.
2021-04-12 11:29:45 +02:00
2021-04-08 12:07:47 +02:00
## Additional Resources
2021-04-08 12:15:17 +02:00
- [The Plutus repository](https://github.com/input-output-hk/plutus)
- [Learn You a Haskell for Great Good!](http://learnyouahaskell.com/)
2021-04-08 12:07:47 +02:00
- [Haskell & Cryptocurrencies course Mongolia](https://www.youtube.com/playlist?list=PLJ3w5xyG4JWmBVIigNBytJhvSSfZZzfTm)