I'm trying to "play" with Plutus and write some smart contract for the sake of practicing and getting familiar with it.

My problem is I don't know how to bootstrap a smart contract project.

Starting from the Plutus page on the Cardano Developer Portal, I've watched several videos and read through the user documentation but did not find my way to create a Cardano smart contract project.

What could help me would be:

  1. A template for a minimal Haskell project to write such contracts
  2. Explanations on how to automatically test my smart contract
  3. Step by step tutorial on how to go from my Haskell code to having the contract deployed on a dev or test net

5 Answers 5


I don't have a concrete answer to your question but I can tell you this is definitely something that's in the making. Perhaps an adequate starting point would be the part of Hydra project that deals with just the smart contracts:

I know this is probably not very helpful...


The Plutus Pioneer Program repository is very helpful to get started:

There are also Youtube videos explaining the code examples here:

It's all PlutusV1 as far as I know.


After learning the basic I just used: https://github.com/input-output-hk/plutus-starter to get all the environment I needed for building my first validators in plutus.

beware it is not updated to Vasil code

  1. See this post
  2. You can write tests with QuickCheck
  3. There are many ways to achieve this. If you aren't concerned about the architecture and are just in it for learning, an easy way is by using lucid + blockfrost.

try the plutus starter project. It is a nix project,using the cardano iogx nix framework so it may take a while for your environment to come up.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.