Ethereum Client-VM Connector API
The EVMC is the low-level ABI between Ethereum Virtual Machines (EVMs) and Ethereum Clients. On the EVM side it supports classic EVM1 and ewasm. On the Client-side it defines the interface for EVM implementations to access Ethereum environment and state.
Please visit the documentation.
Language | Supported Versions | Supported Compilers |
---|---|---|
C | C90¹, C99, C11 | GCC 6+, clang 3.8+, MSVC 2015+ |
C++ | C++11, C++14, C++17 | GCC 6+, clang 3.8+, MSVC 2015+ |
Go (bindings) | 1.9 - 1.12 | |
Rust (bindings)² | 2018 edition | 1.31.0 and newer |
1. The C90 support is limited to the core evmc.h
header only.
2. Rust support is limited and not complete yet, but it is mostly functional already. Breaking changes are possible at this stage.
- aleth
- nim-evmc
- go-ethereum (in progress)
- pyevm (in progress)
- pyethereum (abandoned)
See also the list of EVMC Authors.
Talk with us on the EVMC Gitter chat.
Licensed under the MIT License.
- Update CHANGELOG.md, put the release date, update release link.
git add CHANGELOG.md
.- Tag new release:
bumpversion --allow-dirty prerel
. - Prepare CHANGELOG for next release: add unreleased section and link.
git add CHANGELOG.md
.- Start new release series:
bumpversion --allow-dirty --no-tag minor
.