mirror of
https://github.com/compiler-explorer/compiler-explorer.git
synced 2025-12-27 09:23:52 -05:00
Hello! I'm a big fan of Godbolt and use it regularly to test gas optimizations in Solidity. However, to this day, there is no support for Vyper, the second most popular language targeting the EVM, related issue #4165. We at Statemind.io thought that adding Vyper support would greatly benefit developers and security researchers, so here is our attempt to get it working :) This PR **is not ready** for merging, as `vyper.defaults.properties` and `vyper.amazon.properties` are not yet defined. I have a few questions to clarify how to integrate it on the public instance and infrastructure repository: Because Vyper compiler is basically a python module, I've found success in testing multiple versions via separate `venv` environments. In my local tests `vyper.local.properties` was the following: ```INI compilers=vyper compilerType=vyper versionFlag=--version compiler.vyper.exe=/opt/research/godbolt/venv/bin/vyper compiler.vyper.isSemVer=true compiler.vyper.instructionSet=evm compiler.vyper.options=--optimize none ``` The versions tested are the latest major Vyper release 0.4.0, along with 0.3.10 and earlier 0.3.xx releases. It appears that there is support for running python in a virtual environment in the infra repository: https://github.com/compiler-explorer/infra/blob/main/bin/lib/installable/python.py However, I've had difficulties getting started with it and would greatly appreciate any assistance. Thank you!