/plutip

A Cardano tool to spin up a testnet and run contracts with an EDSL to describe the instructions. Rhymes with tulip for no particular reason.

Primary LanguageHaskellApache License 2.0Apache-2.0

Plutip

Hercules-ci

Plutip is Cardano tool that aims to help dApp developers with integration testing and contracts debugging.

Plutip can serve several purposes:

  • start up disposable private network with arbitrary amount of funded addresses (providing keys for that addresses as well)
  • build tests with tasty Haskell framework where user can run Plutus contracts (Contract w s e a) using mentioned above private network
  • with a bit of additional instrumentation run contracts in REPL on local network

Requirements

Best way of building and launching Plutip libraries is using Nix and cabal. E.g. to start local network with two funded addresses run

nix build .#plutip:exe:local-cluster  
./result/bin/local-cluster -n 2

or

nix develop
cabal run local-cluster -- -n 2

If your project is importing and making use of Plutips library you will need to make sure that the following executables are present in your PATH:

  • cardano-cli executable available in the environment
  • cardano-node executable available in the environment

And the following ghc flag must to be set for the test execution: -Wall -threaded -rtsopts

NOTES

⚠️ This branch launches local network in Vasil. It was tested with node 1.35.3 (this node version used in nix environment as well). Please use appropriate node version when setting up own binaries in PATH.

⚠️ Collateral handling

Tutorials

Advanced network setup

Examples

Maintenance