Skip to content

Reorient bb CLI and bb.js API to be centered around being a Noir backend #1591

@johnathan79717

Description

@johnathan79717

Problem

The current bb CLI and bb.js API are not optimized for the primary use case of being a Noir backend. The interface should be simplified and focused on making common Noir workflows as easy as possible.

Goals

Build simple demonstration apps

Create dead-simple example applications (any noir circuit will do) that demonstrate:

  • Simple JS native verification
  • Solidity verification
  • Recursive verification

High-level API improvements

Build a high-level API that makes these use-cases as simple as possible:

  • Remove as many flags as possible - simplify the interface
  • Orient around the simplest use case - e.g., Solidity-friendly should be the default, not require a flag
  • Make naming more user-friendly - e.g., --recursion_friendly instead of --use_poseidon2

Separate concerns

  • Separate out Aztec-specific functionality from "Noir backend" functionality
  • In help text, clearly mark which flags are for 'advanced' use-cases
  • Make the default path obvious for typical Noir users

Expected Outcome

bb CLI and bb.js should feel like they were purpose-built as a Noir backend, with Aztec-specific features clearly separated as advanced options.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions