Skip to content

theQRL/gozvmlab

Repository files navigation

Go zvmlab

This project is inspired by ZVMlab, which was written in Python. ZVMlab featured a minimal "compiler", along with some tooling to view traces in a UI, and execute scripts against ZVMs (gzond).

This is a golang rewrite from scratch of that same project, this time in go-lang to be more stable and nice to use.

Status

So far, it only contains

  • a minimal "compiler", which is not a proper compiler, but it can be used to create ZVM bytecode and do some basic higher level operations.
  • Some infrastructure for writing ZVM-based fuzzers

Examples

See [examples/calltree](the calltree example) to get an idea of how to use this thing, along with an analysis done using this framework.

Utilities

There are a few different utilities in this repo, based on this library.

Tracediff

Tracediff allows you to load evm (jsonl) files and find differences.

tracediff tracediff

Traceview

Traceview allows you to analyse an evm trace file

traceview

Trophy list

Bugs found via the fuzzer or via tests generated using go-evmlab in general

About

No description, website, or topics provided.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published