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

Expand the Solidity verifier (Barretenberg) compatibility section in docs to cover Top 10 EVMs and how to contribute compatibility tests #4964

Open
Savio-Sou opened this issue May 2, 2024 · 5 comments
Assignees
Labels
documentation Improvements or additions to documentation enhancement New feature or request

Comments

@Savio-Sou
Copy link
Collaborator

Savio-Sou commented May 2, 2024

Problem

We know Barretenberg, Noir's default proving backend loaded, generates Solidity verifiers for programs that are deployable on Ethereum.

It is however not directly clear with the same applies to other EVMs which might miss certain precompiles or specific EVM features.

Happy Case

Expand the current list we have in the Noir docs to cover:

  1. ✅ and ❌ for the top 10 EVMs measured by TVL (reference: DefiLlama)
  2. Guide on how to test compatibility for other EVMs
  3. List known EVM precompiles and features required for a EVM to be "Noir-ready" (simply cover gaps discovered when testing (1) is a win)
  4. Encourage community to submit PRs for updating / add EVMs to the list

Project Impact

Nice-to-have

Impact Context

Great reference for:

  • Developers interested in deploying Noir applications on non-Ethereum EVMs
  • EVM development teams interested in supporting Noir / ZK applications

Workaround

None

Workaround Description

No response

Additional Context

No response

Would you like to submit a PR for this Issue?

None

Support Needs

No response

@Savio-Sou Savio-Sou added enhancement New feature or request documentation Improvements or additions to documentation labels May 2, 2024
@TomAFrench
Copy link
Member

I'd recommend just linking off to https://www.evmdiff.com/features?feature=precompiles and just telling people it needs to support ec_add, ec_mul, ec_pairing. This avoids us from having to explicitly enumerate every single EVM network which wants a shoutout in our docs or gatekeeping this along with the inevitable arguments about which networks are deserving (i.e. if it's notable enough for inclusion in noir docs then it should be notable enough for evm.diff)

@critesjosh
Copy link
Contributor

@Savio-Sou I added Tom's suggestion in the linked above PR. I see that evm diff doesnt cover the top 10 EVM chains by TVL, but do you think this is sufficient? Or do you still think we should cover the rest of the list in the description?

@Savio-Sou
Copy link
Collaborator Author

Savio-Sou commented May 24, 2024

Thanks for the suggestion @TomAFrench!

@critesjosh that's a great starting step 👍 with 4 of the top 10 EVMs by TVL not covered by EVM Diff (as of this time), it is worthwhile still to test them imo for wider reach and better neutrality in the marketing to follow.
(Assuming this is not a huge resource drag on our end, e.g. 2 man-days max; let me know if I'm underestimating the effort.)

@critesjosh
Copy link
Contributor

you're right, it shouldn't be a big effort. it's just a lower priority so we haven't gotten around to it yet

@Savio-Sou Savio-Sou changed the title Add a page of Solidity verifier (Barretenberg) compatibility with EVMs in the docs Expand the list of Solidity verifier (Barretenberg) compatibility in docs to cover Top 10 EVMs by TVL May 24, 2024
@Savio-Sou Savio-Sou changed the title Expand the list of Solidity verifier (Barretenberg) compatibility in docs to cover Top 10 EVMs by TVL Expand the Solidity verifier (Barretenberg) compatibility section in docs to cover Top 10 EVMs and how to contribute compatibility tests May 24, 2024
github-merge-queue bot pushed a commit that referenced this issue May 24, 2024
# Description

Links to evmdiff.com to show which EVM chains have the required
precompiles

## Problem\*

related to #4964 

## Summary\*



## Additional Context



## Documentation\*

Check one:
- [ ] No documentation needed.
- [x] Documentation included in this PR.
- [ ] **[For Experimental Features]** Documentation to be submitted in a
separate PR.

# PR Checklist\*

- [ ] I have tested the changes locally.
- [ ] I have formatted the changes with [Prettier](https://prettier.io/)
and/or `cargo fmt` on default settings.
@jzaki
Copy link
Contributor

jzaki commented May 30, 2024

Once we have the subset to test, these come in handy for chainids and rpc providers. Faucets still likely a manual process though :/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation enhancement New feature or request
Projects
Status: 📋 Backlog
Development

No branches or pull requests

5 participants