Skip to content

Latest commit

 

History

History
61 lines (50 loc) · 1.83 KB

README.md

File metadata and controls

61 lines (50 loc) · 1.83 KB

Gastronomy UPLC Debugger

Smart contracts on Cardano tend to be very small, so this UPLC Debugger stores the state of the machine at every step of execution; giving the ability to then step forward and backward with ease, and present a nice user interface for doing so.

Quick Start

CLI tool:

gastronomy-cli run test_data/fibonacci.uplc 03
  • N - Advance to the next step
  • P - Rewind to the previous step
  • Q - Quit

GUI:

gastronomy

Configuration.

The app will read configuration from environment variables, or from a .gastronomyrc.toml file in your home directory.

Setting Environment variable Description
blockfrost.key BLOCKFROST_KEY The API key to use when querying Blockfrost.

Features

Below you will find the planned and completed features for the Gastronomy debugger:

  • Loading and Evaluating UPLC Programs
    • Loading flat encoded UPLC programs
    • Loading UPLC pretty printed programs
    • Passing hex encoded arguments
    • Spent and single-step budgets
    • Loading transactions with a script context
    • Better command line arguments
  • Step through debugging
    • Step forward
    • Display current term
    • Display current context
    • Display current environment
    • Display return values
    • Relabel variables
    • Speculative execution with a changed environment
    • Place bookmarks for easy navigation
  • Time-travel Debugging
    • Step backwards
    • Step to where environment variable introduced
    • Step backwards through context stack
    • Step forwards through context stack
  • Graphical interface
    • Desktop application
    • Custom renderers for some terms
    • Better "cause and effect" visualization
    • Budget heat-map
  • Sourcemap integration
    • Aiken integration
    • Plu-ts integration