Command-Line Help for powdr

This document contains the help content for the powdr command-line program.

Command Overview:

powdr

powdr CLI to compile powdr-asm and powdr-pil programs

Usage: powdr [OPTIONS] [COMMAND]

Subcommands:
  • pil — Runs compilation and witness generation for .pil and .asm files. Also runs backend if --prove-with is set. First converts .asm files to .pil, if needed. Then converts the .pil file to json and generates fixed and witness column data files
  • prove
  • verify
  • verification-key
  • export-verifier
  • setup
  • reformat — Parses and prints the PIL file on stdout
  • optimize-pil — Optimizes the PIL file and outputs it on stdout
  • test — Executes all functions starting with test_ in every module called test (or sub-module thereof) starting from the given module
Options:
  • --log-level <LOG_LEVEL> — Set log filter value [ off, error, warn, info, debug, trace ]

    Default value: INFO

powdr pil

Runs compilation and witness generation for .pil and .asm files. Also runs backend if --prove-with is set. First converts .asm files to .pil, if needed. Then converts the .pil file to json and generates fixed and witness column data files

Usage: powdr pil [OPTIONS] <FILE>

Arguments:
  • <FILE> — Input file
Options:
  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -o, --output-directory <OUTPUT_DIRECTORY> — Output directory for the PIL file, json file and fixed and witness column data

    Default value: .

  • -w, --witness-values <WITNESS_VALUES> — Path to a CSV file containing externally computed witness values

  • -i, --inputs <INPUTS> — Comma-separated list of free inputs (numbers)

    Default value: ``

  • -f, --force — Force overwriting of PIL output file

    Default value: false

  • --pilo — Whether to output the pilo PIL object

    Default value: false

  • -p, --prove-with <PROVE_WITH> — Generate a proof with a given backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

  • --params <PARAMS> — File containing previously generated setup parameters

  • --backend-options <BACKEND_OPTIONS> — Backend options. Halo2: "poseidon", "snark_single" or "snark_aggr". EStark and PilStarkCLI: "stark_gl", "stark_bn" or "snark_bn"

  • --linker-mode <LINKER_MODE> — Linker mode, deciding how to reduce links to constraints

    Possible values: native, bus

  • --degree-mode <DEGREE_MODE> — Degree mode, deciding whether to use a single monolithic table or a set of dynamically sized tables

  • --export-witness-csv — Generate a CSV file containing the witness column values

    Default value: false

  • --export-all-columns-csv — Generate a CSV file containing all fixed and witness column values. Useful for debugging purposes

    Default value: false

  • --csv-mode <CSV_MODE> — How to render field elements in the csv file

    Default value: hex

    Possible values: i, ui, hex

powdr prove

Usage: powdr prove [OPTIONS] --backend <BACKEND> <FILE>

Arguments:
  • <FILE> — Input PIL file
Options:
  • -d, --dir <DIR> — Directory to find the committed and fixed values

    Default value: .

  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -b, --backend <BACKEND> — Generate a proof with a given backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

  • --backend-options <BACKEND_OPTIONS> — Backend options. Halo2: "poseidon", "snark_single" or "snark_aggr". EStark and PilStarkCLI: "stark_gl", "stark_bn" or "snark_bn"

  • --proof <PROOF> — File containing previously generated proof for aggregation

  • --vkey <VKEY> — File containing previously generated verification key

  • --vkey-app <VKEY_APP> — File containing the verification key of a proof to be verified recursively

  • --params <PARAMS> — File containing previously generated setup parameters

powdr verify

Usage: powdr verify [OPTIONS] --backend <BACKEND> --proof <PROOF> --vkey <VKEY> <FILE>

Arguments:
  • <FILE> — Input PIL file
Options:
  • -d, --dir <DIR> — Directory to find the fixed values

    Default value: .

  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -b, --backend <BACKEND> — Generate a proof with a given backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

  • --backend-options <BACKEND_OPTIONS> — Backend options. Halo2: "poseidon", "snark_single" or "snark_aggr". EStark and PilStarkCLI: "stark_gl", "stark_bn" or "snark_bn"

  • --proof <PROOF> — File containing the proof

  • --publics <PUBLICS> — Comma-separated list of public inputs (numbers)

    Default value: ``

  • --vkey <VKEY> — File containing the verification key

  • --params <PARAMS> — File containing the params

powdr verification-key

Usage: powdr verification-key [OPTIONS] --backend <BACKEND> <FILE>

Arguments:
  • <FILE> — Input PIL file
Options:
  • -d, --dir <DIR> — Directory to find the fixed values

    Default value: .

  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -b, --backend <BACKEND> — Chosen backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

  • --backend-options <BACKEND_OPTIONS> — Backend options. Halo2: "poseidon", "snark_single" or "snark_aggr". EStark and PilStarkCLI: "stark_gl", "stark_bn" or "snark_bn"

  • --params <PARAMS> — File containing previously generated setup parameters. This will be needed for SNARK verification keys but not for STARK

  • --vkey-app <VKEY_APP> — File containing the verification key of a proof to be verified recursively

powdr export-verifier

Usage: powdr export-verifier [OPTIONS] --backend <BACKEND> <FILE>

Arguments:
  • <FILE> — Input PIL file
Options:
  • -d, --dir <DIR> — Directory to find the fixed values

    Default value: .

  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -b, --backend <BACKEND> — Chosen backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

  • --backend-options <BACKEND_OPTIONS> — Backend options. Halo2: "poseidon", "snark_single" or "snark_aggr". EStark and PilStarkCLI: "stark_gl", "stark_bn" or "snark_bn"

  • --params <PARAMS> — File containing previously generated setup parameters. This will be needed for SNARK verification keys but not for STARK

  • --vkey <VKEY> — File containing previously generated verification key

powdr setup

Usage: powdr setup [OPTIONS] --backend <BACKEND> <SIZE>

Arguments:
  • <SIZE> — Size of the parameters
Options:
  • -d, --dir <DIR> — Directory to output the generated parameters

    Default value: .

  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

  • -b, --backend <BACKEND> — Generate a proof with a given backend

    Possible values: mock, halo2, halo2-composite, halo2-mock, halo2-mock-composite, plonky3, plonky3-composite

powdr reformat

Parses and prints the PIL file on stdout

Usage: powdr reformat <FILE>

Arguments:
  • <FILE> — Input file

powdr optimize-pil

Optimizes the PIL file and outputs it on stdout

Usage: powdr optimize-pil [OPTIONS] <FILE>

Arguments:
  • <FILE> — Input file
Options:
  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254

powdr test

Executes all functions starting with test_ in every module called test (or sub-module thereof) starting from the given module

Usage: powdr test [OPTIONS] <FILE>

Arguments:
  • <FILE> — Input file
Options:
  • --field <FIELD> — The field to use

    Default value: gl

    Possible values: bb, kb, m31, gl, bn254


This document was generated automatically by clap-markdown.