Expand description

Dusk PLONK debugger

To run:

cargo run --bin pdb -- ./assets/test.cdf

Example

First we build the binaries

cargo build --release

Then we generate a CDF file from the existing circuit

CDF_OUTPUT=target/naive.cdf cargo run --release --manifest-path example-plonk-circuit/Cargo.toml

And finally we run the debugger application with the generated file

cargo run --release --bin dusk-pdb -- target/naive.cdf

The binary format for CDF is a dense linear encoding.

A circuit is a compositions of items that are either Witness or Constraint.

A Witness is a constraint system allocated value that is represented by its identifier and Scalar value.

A Constraint is a Polynomial expression represented as a gate of the circuit that will allow computation in the constraint system. It will evaluate to a bool that is the representation of the result of the gate.

A circuit description format file will contain a preamble with all its witnesses. Provided this, its witness index will reflect its line on the file, facilitating indexing.

Structs

Breakpoint definition

A circuit description file

Configuration parameters for encoding and decoding

Decoded constraint from a CDF file

Decoding context of a CDF file

Constraint representation that can be encoded into a CDF file

Source file tripler that can be encoded into a CDF file

Witness that can be encoded into a CDF file

An encoder for CDF format

Default encoding provider with a filesystem backend

PLONK polynomial expression representation with its selectors and witnesses.

Metadata information of the CDF file

Scalar field representation with up to 256 bits.

Polynomial selectors

Polynomial witnesses allocated to a constraint system

Witness decoded from a CDF file

ZKP Debugger with CDF backend

Enums

State describind a mutation of the zk debugger

Traits

Base configuration schema

Element that can be decoded from a CDF file

Describe a CDF element

Element that can be encoded into a CDF file

Encoding provider that will convert paths into file contents