Skip to content

ethereum/evmc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 12, 2019
f48ae8b · Aug 12, 2019
Aug 12, 2019
Aug 12, 2019
May 9, 2019
Aug 9, 2019
Aug 7, 2019
Jul 23, 2019
Aug 8, 2019
Aug 12, 2019
Aug 6, 2019
Mar 19, 2019
Mar 13, 2019
Apr 2, 2019
Aug 21, 2018
Aug 12, 2019
Aug 12, 2019
Jun 4, 2019
Jul 23, 2019
Aug 22, 2018
Aug 11, 2019
Jul 23, 2019
Aug 8, 2019

Repository files navigation

EVMC

chat: on gitter readme style: standard

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.

Usage

Documentation

Please visit the documentation.

Languages support

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.

Related projects

EVMs

Clients

Maintainers

See also the list of EVMC Authors.

Contributing

chat: on gitter

Talk with us on the EVMC Gitter chat.

License

Licensed under the MIT License.

Internal

Making new release

  1. Update CHANGELOG.md, put the release date, update release link.
  2. git add CHANGELOG.md.
  3. Tag new release: bumpversion --allow-dirty prerel.
  4. Prepare CHANGELOG for next release: add unreleased section and link.
  5. git add CHANGELOG.md.
  6. Start new release series: bumpversion --allow-dirty --no-tag minor.