EVMC – Ethereum Client-VM Connector API https://evmc.ethereum.org
Go to file
Alex Beregszaszi b4c585f9bd rust: make allocate_output_data operate on references 2019-07-03 12:16:04 +01:00
bindings rust: make allocate_output_data operate on references 2019-07-03 12:16:04 +01:00
cmake Upgrade Cable to 0.4.0 2019-05-15 11:58:04 +02:00
docs docs: add ABI version to the documentation 2019-05-09 11:16:09 +01:00
examples rust: prefer getters as opposed to pub members on structs 2019-06-25 19:14:42 +01:00
include/evmc helpers: Extend fnv1a implementation to support 32-bit architectures 2019-06-27 14:02:05 +02:00
lib loader: Standardize configuration syntax and add evmc_load_and_configure() 2019-06-27 13:43:51 +02:00
test test: Rework tests for 32-bit architectures support 2019-06-27 14:02:06 +02:00
.bumpversion.cfg EVMC 6.3.0-alpha.1 2019-06-19 19:45:16 +02:00
.clang-format Add clang-format config 2018-05-11 13:17:50 +02:00
.codespell-whitelist rust: Add helpers for execution result handling 2019-03-19 15:09:43 -04:00
.gitignore Add workspace Cargo file 2019-03-13 15:54:22 +01:00
.travis.yml CI: Run ctest tests in parallel, in random order 2019-04-02 14:41:31 +02:00
AUTHORS.md Introduce AUTHORS file 2018-08-21 09:39:42 +02:00
CHANGELOG.md changelog: Add entry about added 32-bit architecture support 2019-06-27 14:02:35 +02:00
CMakeLists.txt EVMC 6.3.0-alpha.1 2019-06-19 19:45:16 +02:00
Cargo.toml rust: Procedural macro for automatic VM declaration 2019-06-04 16:18:23 +01:00
Doxyfile docs: Document files, enable files list 2019-04-25 07:47:18 +02:00
LICENSE Change license to Apache 2.0 2018-08-22 13:54:30 +02:00
README.md readme: Use default style of shields 2019-05-14 15:23:53 +02:00
appveyor.yml ci: Add 32-bit build with Visual Studio 2019-06-27 14:02:06 +02:00
circle.yml circleci: remove duplicated tasks from ASan in Rust 2019-06-27 13:20:18 +01:00

README.md

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.

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.