Awesome
Plutus Tx Template
A template repository for your plutus-tx
smart contract project.
plutus-tx
currently supports GHC v9.2.x
and v9.6.x
. Cabal v3.8+
is recommended.
1. Create the repository
-
From the command line:
gh repo create my-project --private --template IntersectMBO/plutus-tx-template
-
Or from the GitHub web page, click the top-right green button:
Use this template -> Create new repository
-
Or just fork/clone
plutus-tx-template
(but note that this is a template repository)More information on GitHub template repositories can be found here.
2. Setup your development environment
-
With Nix (recommended)
Follow these instructions to install and configure nix, even if you already have it installed.
Then enter the shell using
nix develop
.The nix files inside this template follow the
iogx
flake, but you can delete and replace them with your own. In that case, you might want to include thedevx
flake in your flake inputs as a starting point to supply all the necessary dependencies, making sure to use one of the-iog
flavours. -
With Docker / Devcontainers / Codespaces
From the GitHub web page, click the top-right green button:
Use this template -> Open in a codespace
Or let VSCode create a local codespace for you when you open this project.
You can modify your
devcontainer.json
file to customize the container (more info here).Or using your local docker installation (change the
/path/to/my-project
accordingly):docker run \ -v /path/to/my-project:/workspaces/my-project \ -it ghcr.io/input-output-hk/devx-devcontainer:x86_64-linux.ghc96-iog
When using this approach, you can ignore/delete/replace the nix files entirely.
-
With manually-installed dependencies (not recommended)
Follow the instructions for cardano-node for a custom setup.
When using this approach, you can ignore/delete/replace the nix files entirely.
3. Run the example application
Run cabal update
first, then read Example: An Auction Smart Contract to get started.