Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore(docs): Supplement docs on modexp as a required precompile for Barretenberg's Solidity verifier #7508

Merged
merged 2 commits into from
Feb 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 11 additions & 4 deletions docs/docs/how_to/how-to-solidity-verifier.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,13 @@ It would be incorrect to say that a Noir proof verification costs any gas at all

:::

## A Note on EVM chains
## Compatibility with different EVM chains

Noir proof verification requires the ecMul, ecAdd and ecPairing precompiles. Not all EVM chains support EC Pairings, notably some of the ZK-EVMs. This means that you won't be able to use the verifier contract in all of them. You can find an incomplete list of which EVM chains support these precompiles [here](https://www.evmdiff.com/features?feature=precompiles).
Barretenberg proof verification requires the `ecMul`, `ecAdd`, `ecPairing`, and `modexp` EVM precompiles. You can deploy and use the verifier contract on all EVM chains that support the precompiles.

For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently support these precompiles, so proof verification via Solidity verifier contracts won't work. Here's a quick list of EVM chains that have been tested and are known to work:
EVM Diff provides a great table of which EVM chains support which precompiles: https://www.evmdiff.com/features?feature=precompiles

Some EVM chains manually tested to work with the Barretenberg verifier include:

- Optimism
- Arbitrum
Expand All @@ -289,7 +291,12 @@ For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently suppo
- Linea
- Moonbeam

If you test any other chains, please open a PR on this page to update the list.
Meanwhile, some EVM chains chains manually tested that failed to work with the Barretenberg verifier include:

- zkSync ERA
- Polygon zkEVM

Pull requests to update this section is welcome and appreciated if you have compatibility updates on existing / new chains to contribute: https://github.com/noir-lang/noir

## What's next

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,13 @@ It would be incorrect to say that a Noir proof verification costs any gas at all

:::

## A Note on EVM chains
## Compatibility with different EVM chains

Noir proof verification requires the ecMul, ecAdd and ecPairing precompiles. Not all EVM chains support EC Pairings, notably some of the ZK-EVMs. This means that you won't be able to use the verifier contract in all of them. You can find an incomplete list of which EVM chains support these precompiles [here](https://www.evmdiff.com/features?feature=precompiles).
Barretenberg proof verification requires the `ecMul`, `ecAdd`, `ecPairing`, and `modexp` EVM precompiles. You can deploy and use the verifier contract on all EVM chains that support the precompiles.

For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently support these precompiles, so proof verification via Solidity verifier contracts won't work. Here's a quick list of EVM chains that have been tested and are known to work:
EVM Diff provides a great table of which EVM chains support which precompiles: https://www.evmdiff.com/features?feature=precompiles

Some EVM chains manually tested to work with the Barretenberg verifier include:

- Optimism
- Arbitrum
Expand All @@ -289,7 +291,12 @@ For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently suppo
- Linea
- Moonbeam

If you test any other chains, please open a PR on this page to update the list.
Meanwhile, some EVM chains chains manually tested that failed to work with the Barretenberg verifier include:

- zkSync ERA
- Polygon zkEVM

Pull requests to update this section is welcome and appreciated if you have compatibility updates on existing / new chains to contribute: https://github.com/noir-lang/noir

## What's next

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,11 +271,13 @@ It would be incorrect to say that a Noir proof verification costs any gas at all

:::

## A Note on EVM chains
## Compatibility with different EVM chains

Noir proof verification requires the ecMul, ecAdd and ecPairing precompiles. Not all EVM chains support EC Pairings, notably some of the ZK-EVMs. This means that you won't be able to use the verifier contract in all of them. You can find an incomplete list of which EVM chains support these precompiles [here](https://www.evmdiff.com/features?feature=precompiles).
Barretenberg proof verification requires the `ecMul`, `ecAdd`, `ecPairing`, and `modexp` EVM precompiles. You can deploy and use the verifier contract on all EVM chains that support the precompiles.

For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently support these precompiles, so proof verification via Solidity verifier contracts won't work. Here's a quick list of EVM chains that have been tested and are known to work:
EVM Diff provides a great table of which EVM chains support which precompiles: https://www.evmdiff.com/features?feature=precompiles

Some EVM chains manually tested to work with the Barretenberg verifier include:

- Optimism
- Arbitrum
Expand All @@ -289,7 +291,12 @@ For example, chains like `zkSync ERA` and `Polygon zkEVM` do not currently suppo
- Linea
- Moonbeam

If you test any other chains, please open a PR on this page to update the list.
Meanwhile, some EVM chains chains manually tested that failed to work with the Barretenberg verifier include:

- zkSync ERA
- Polygon zkEVM

Pull requests to update this section is welcome and appreciated if you have compatibility updates on existing / new chains to contribute: https://github.com/noir-lang/noir

## What's next

Expand Down
Loading