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

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