Skip to main content

Plutus

Get started with Plutus

Plutus is the smart contract platform of the Cardano blockchain. It allows you to write applications that interact with the Cardano blockchain.

Take a look at the Plutus Tutorial if you want to learn Plutus from the beginning. If you don't know Haskell yet, consider starting with Haskell.

Follow Chris Moreton's content updates. With a high effort he transcribes the lectures of the Plutus Pioneer Program.

Talk to others about Plutus on the Cardano Forum or if you prefer Discord head to the the IOG Technical Discord.

The Plutus platform

In this Video Michael Peyton-Jones starts by walking us through working with Plutus. Plutus allows all programming to be done from a single Haskell library. This lets users build secure applications, forge new assets, and create smart contracts in a predictable, deterministic environment with the highest level of assurance. Furthemore, developers don’t have to run a full Cardano node to test their work.

Jann Müller then takes us through the Plutus Application Platform, where assets can be built and launched. He also demonstrates how tokens can be transferred using a smart contract. With Plutus you can:

  • Forge new tokens in a lightweight environment
  • Build smart contracts
  • Support basic multi-sig scripts

Plutus Playground

The Plutus Playground is a code editor and simulator in one.

Plutus Playground

There is a written tutorial on how to compile and test a Plutus App or you can watch this video tutorial:

Further Tutorials

How-to guides

Get started with Haskell

Haskell is the programming language for Plutus contracts. If you are looking for the best guide to Haskell and unsure where to start, we recommend you check out the book or website Learn You a Haskell for Great Good by Miran Lipovača.

Learning Haskell is made easy with this illustrated guide, one of the most engaging ways to learn this fascinating programming language.

Another great learning resource is the online course Haskell and Crypto Mongolia 2020 lectured by Andres Löh, co-founder of the Well-Typed consultancy and Dr. Lars Brünjes, Education Director at IOHK. The course is the suggested starting point for Plutus Pioneers at the beginning of the Plutus Pioneer Program. It's a 10-week, 40 hours/week deep dive into Haskell and Cryptocurrencies.

If you are coming from a Python background, there is an informative project py2hs that explains essential Haskell concepts using Python.

Get started with the Plutus pioneer program

The Plutus pioneer program was created in order to recruit and train developers in Plutus for the Cardano ecosystem. By entering the program, you will become part of a group with early access to a set of courses that teach you the core principles of how to code in both Haskell and Plutus. It will be highly interactive, with weekly videos, exercises, and Q&A sessions and exclusive access to the creators and key experts in the language.

This course is not for coding beginners. You do not need to be an expert in formal methods, but programming experience and a general aptitude for logical and mathematical thinking are highly advisable. We recommend to get started with Haskell before taking the course.

Prior knowledge of Haskell or functional programming is also recommended, as Plutus is heavily based on Haskell and includes advanced features like Template Haskell, type-level programming, and effect systems.

You can also check out the book "Plutus - Learning a smart-contract language" that follows the 3rd iteration of the Plutus pioneer programm and contains all code examples from the course. The book is availabe at this repository: https://github.com/LukaKurnjek/plutus-pioneer-program.