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