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

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions