<p>try the <a href="https://github.com/schwarzer-swan/ppbl1013" rel="nofollow noreferrer">plutus starter project</a>. It is a <code>nix</code> project,using the cardano iogx nix framework so it may take a while for your environment to come up.</p>

CC BY-SA 4.0
2024-03-25T12:39:54.103Z
2024-03-25T12:39:54.103Z
schwarzer schwan
<p>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:</p>
<ul>
<li>This is the source tree for the Plutus contracts: <a href="https://github.com/input-output-hk/hydra-poc/tree/master/hydra-plutus" rel="nofollow noreferrer">https://github.com/input-output-hk/hydra-poc/tree/master/hydra-plutus</a></li>
<li>The contracts are unit tested here: <a href="https://github.com/input-output-hk/hydra-poc/blob/master/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs" rel="nofollow noreferrer">https://github.com/input-output-hk/hydra-poc/blob/master/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs</a> but this requires a bit of scaffolding.</li>
</ul>
<p>I know this is probably not very helpful...</p>

CC BY-SA 4.0
2022-10-18T05:08:32.380Z
2022-10-18T05:08:32.380Z
insitu
<p>The Plutus Pioneer Program repository is very helpful to get started:</p>
<ul>
<li><a href="https://github.com/input-output-hk/plutus-pioneer-program/tree/main/code" rel="nofollow noreferrer">https://github.com/input-output-hk/plutus-pioneer-program/tree/main/code</a></li>
</ul>
<p>There are also Youtube videos explaining the code examples here:</p>
<ul>
<li><a href="https://www.youtube.com/playlist?list=PLNEK_Ejlx3x0mhPmOjPSHZPtTFpfJo3Nd" rel="nofollow noreferrer">https://www.youtube.com/playlist?list=PLNEK_Ejlx3x0mhPmOjPSHZPtTFpfJo3Nd</a></li>
</ul>
<p>It's all PlutusV1 as far as I know.</p>

CC BY-SA 4.0
2022-10-18T09:06:16.620Z
2022-10-18T09:06:16.620Z
DaveStrider
<ol>
<li>See this <a href="https://cardano.stackexchange.com/a/9648/2335">post</a></li>
<li>You can write tests with <a href="https://hackage.haskell.org/package/QuickCheck" rel="nofollow noreferrer">QuickCheck</a></li>
<li>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.</li>
</ol>

CC BY-SA 4.0
2022-12-21T08:38:26.587Z
2022-12-21T08:38:26.587Z
Fermat
<p>After learning the basic I just used: <a href="https://github.com/input-output-hk/plutus-starter" rel="nofollow noreferrer">https://github.com/input-output-hk/plutus-starter</a> to get all the environment I needed for building my first validators in plutus.</p>
<p>beware it is not updated to Vasil code</p>

CC BY-SA 4.0
2022-10-24T08:51:06.447Z
2022-10-24T08:51:06.447Z
Cristovao Morgado
<p>I'm trying to &quot;play&quot; with Plutus and write some smart contract for the sake of practicing and getting familiar with it.</p>
<p>My problem is I don't know how to bootstrap a smart contract project.</p>
<p>Starting from the <a href="https://developers.cardano.org/docs/smart-contracts/plutus" rel="noreferrer">Plutus page</a> on the Cardano Developer Portal, I've watched several videos and read through the <a href="https://plutus.readthedocs.io/en/latest/tutorials/index.html" rel="noreferrer">user documentation</a> but did not find my way to create a Cardano smart contract project.</p>
<p>What could help me would be:</p>
<ol>
<li>A template for a minimal Haskell project to write such contracts</li>
<li>Explanations on how to automatically test my smart contract</li>
<li>Step by step tutorial on how to go from my Haskell code to having the contract deployed on a dev or test net</li>
</ol>

<plutus>
Boostraping a plutus Smart contract project
# Boostraping a plutus Smart contract project

(Asked by: username_0 on 2022-10-13)

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](https://developers.cardano.org/docs/smart-contracts/plutus) on the Cardano Developer Portal, I've watched several videos and read through the [user documentation](https://plutus.readthedocs.io/en/latest/tutorials/index.html) 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

**Tags:** plutus

---

## 5 answers

### Answer by username_1 on 2024-03-25. Score: 0

try the [plutus starter project](https://github.com/schwarzer-swan/ppbl1013). It is a `nix` project,using the cardano iogx nix framework so it may take a while for your environment to come up.


---

### Answer by username_2 on 2022-10-18. Score: 0

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:

* This is the source tree for the Plutus contracts: <https://github.com/input-output-hk/hydra-poc/tree/master/hydra-plutus>
* The contracts are unit tested here: <https://github.com/input-output-hk/hydra-poc/blob/master/hydra-node/test/Hydra/Chain/Direct/ContractSpec.hs> but this requires a bit of scaffolding.

I know this is probably not very helpful...


---

### Answer by username_3 on 2022-10-18. Score: 0

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

* <https://github.com/input-output-hk/plutus-pioneer-program/tree/main/code>

There are also Youtube videos explaining the code examples here:

* <https://www.youtube.com/playlist?list=PLNEK_Ejlx3x0mhPmOjPSHZPtTFpfJo3Nd>

It's all PlutusV1 as far as I know.


---

### Answer by username_4 on 2022-12-21. Score: 0

1. See this [post](https://cardano.stackexchange.com/a/9648/2335)
2. You can write tests with [QuickCheck](https://hackage.haskell.org/package/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.


---

### Answer by username_5 on 2022-10-24. Score: 0

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


---

