https://github.com/lambdaclass/era_vm
EraVM implementation
https://github.com/lambdaclass/era_vm
Last synced: about 2 months ago
JSON representation
EraVM implementation
- Host: GitHub
- URL: https://github.com/lambdaclass/era_vm
- Owner: lambdaclass
- License: mit
- Created: 2024-06-07T20:51:13.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-09-05T19:44:38.000Z (9 months ago)
- Last Synced: 2025-03-24T01:23:47.556Z (2 months ago)
- Language: Rust
- Size: 740 KB
- Stars: 20
- Watchers: 3
- Forks: 3
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ethereum-rust - era_vm
README
# EraVM
A reimplementation of zkSync's out-of-circuit [zkEVM](https://github.com/matter-labs/era-zk_evm).
## Requirements
- [Rust](https://www.rust-lang.org/tools/install)
- [The EraVM Compiler: zksolc 1.5.1](https://github.com/matter-labs/zksolc-bin). Download the [latest binary](https://github.com/matter-labs/zksolc-bin/releases/tag/v1.5.1), then put it under your path. If done correctly, running `zksolc --version` should return 1.5.1.## Testing
Run
```
make deps
```to fetch the `era-compiler-tester` test suite and install all the zkSync LLVM dependencies.
Then do
```
make test
```to run all tests.
## Documentation
Documentation can be found under the `docs` folder. Still a work in progress.
## Useful references
- [EraVM Primer](https://github.com/matter-labs/zksync-era/blob/main/docs/specs/zk_evm/vm_specification/zkSync_era_virtual_machine_primer.md). Highly recommended to read before diving into this codebase.
- [zksolc Compiler Documentation](https://github.com/matter-labs/zksync-era/blob/main/docs/specs/zk_evm/vm_specification/compiler/README.md). Very useful, as we are constantly interfacing with the compiler and its generated assembly.
- [More General VM Docs](https://github.com/matter-labs/zksync-era/tree/main/docs/specs/zk_evm)
- [EraVM Formal Spec](https://matter-labs.github.io/eravm-spec/spec.html)