-
Notifications
You must be signed in to change notification settings - Fork 49
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
Add py-revm as an alternative to pyevm #104
Comments
@bout3fiddy i think the UX issue is an over-concern. i think the concept of installing an alternative backend to get some particular feature (or performance boost, as is the case here) is pretty understandable |
I don't know how much work is involved in extracting the interface with the backend to some interface that can be injected. It sounds like a good idea to make this configurable by environment, considering other backends might evolve in the future. |
@DanielSchiavini mostly, i have been inheriting from |
If that part of the work would need to be done anyway to get pyrevm working.. is there a reason to drop pyevm? |
i'm not sure we want to drop py-evm since it's still very monkey-patchable. i think it's useful to have the backend be pluggable. for instance, if pyrevm doesn't have the same functionality as py-evm, we might want to have "enable pyrevm but at the cost of features" type functionality. |
I'm sort of imagining the UX to be a bit like:
The api for set_balance is similar already: https://github.com/gakonst/pyrevm/blob/6554e943c9e2d8aa23ea2cabfeda7fcaa348d8ed/pytest/test.py#L63 How does this look/feel ? |
https://twitter.com/rakitadragan/status/1745632344873030049 -- revm seems patchable now(!) |
Preparation to handle vyperlang#104
@bout3fiddy is a basic implementation useful for you guys? That should be easy - pyrevm works well with the Vyper pipelines. But that misses some features compared with boa+pyevm. |
The default evm backend for titanoboa is: pyevm
This issue is a wishlist to introduce pyrevm as an alternative backend to pyevm.
The objective is to add pyrevm as an alternative backend. This would mean that the user would have access to pyevm as well.
My concern is: pyevm is quite simple: it's just a
pip install py-evm
and you're good to go. With revm, one would need to install revm and then py-revm and that might just be an additional layer of friction. Is this an over-concern?The text was updated successfully, but these errors were encountered: