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.
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
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. |
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