/plutonomy-cli

An extremely simple CLI for well-typed/plutonomy

Primary LanguageHaskellBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Plutonomy-cli

A simple command-line wrapper for Plutonomy -- an optimizer for UPLC.

See disclaimer notice on Plutonomy.

Getting Started

Installation instructions

Install ghc 9.2.8 (i.e. using ghcup). Then clone this repo, and in the repository root run

cabal install --overwrite-policy=always --install-method=copy plutonomy-cli

Usage

plutonomy-cli --help

Example

First, generate or obtain the script as hex encoded single-wrapped cbor of the flat encoding. This is usually among the output of the build commands of uplc, opshin or aiken.

uplc build foo.uplc

Then optimize the code using plutonomy-cli.

plutonomy-cli --default foo/script.cbor > foo/optimized.cbor

Alternatives

While plutonomy is an extremely powerful tool, it is unfortunately not being actively maintained and may not be an adequate choice for new and upcoming projects. Alternatives include

  • the official plutus uplc binary. Run uplc-x86_64-linux-ghc928 optimize foo.uplc.
  • WIP: aiken. Run aiken shrink foo/script.cbor --cbor --hex.
  • WIP: uplc. Run uplc optimize foo.uplc.