{"id":13746281,"url":"https://github.com/ipsilon/evmc","last_synced_at":"2025-07-10T06:11:03.226Z","repository":{"id":38441763,"uuid":"66214407","full_name":"ipsilon/evmc","owner":"ipsilon","description":"EVMC – Ethereum Client-VM Connector API","archived":false,"fork":false,"pushed_at":"2025-03-05T08:39:45.000Z","size":2826,"stargazers_count":369,"open_issues_count":43,"forks_count":320,"subscribers_count":31,"default_branch":"master","last_synced_at":"2025-07-09T13:08:24.898Z","etag":null,"topics":["c","cpp","ethereum","evm","evmc","ewasm","golang","hacktoberfest","java","rust","wasm"],"latest_commit_sha":null,"homepage":"https://evmc.ethereum.org","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ipsilon.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS.md","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-08-21T18:35:02.000Z","updated_at":"2025-07-09T09:50:24.000Z","dependencies_parsed_at":"2023-12-20T15:44:23.242Z","dependency_job_id":"76a56c20-ea26-48b2-b982-21aad4afd319","html_url":"https://github.com/ipsilon/evmc","commit_stats":{"total_commits":1258,"total_committers":23,"mean_commits":54.69565217391305,"dds":0.3275039745627981,"last_synced_commit":"fddfef1717169d74d84c5675d641a8b54dc0c662"},"previous_names":["ipsilon/evmc"],"tags_count":45,"template":false,"template_full_name":null,"purl":"pkg:github/ipsilon/evmc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipsilon%2Fevmc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipsilon%2Fevmc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipsilon%2Fevmc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipsilon%2Fevmc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ipsilon","download_url":"https://codeload.github.com/ipsilon/evmc/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ipsilon%2Fevmc/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264465850,"owners_count":23612580,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","cpp","ethereum","evm","evmc","ewasm","golang","hacktoberfest","java","rust","wasm"],"created_at":"2024-08-03T06:00:51.070Z","updated_at":"2025-07-10T06:11:02.933Z","avatar_url":"https://github.com/ipsilon.png","language":"C","readme":"# EVMC\n\n[![chat: on gitter][gitter badge]][Gitter]\n[![readme style: standard][readme style standard badge]][standard readme]\n\n\u003e Ethereum Client-VM Connector API\n\nThe EVMC is the low-level ABI between Ethereum Virtual Machines (EVMs) and\nEthereum Clients. On the EVM side it supports classic EVM1 and [ewasm].\nOn the Client-side it defines the interface for EVM implementations\nto access Ethereum environment and state.\n\n\n## Usage\n\n### Documentation\n\nPlease visit the [documentation].\n\n### Languages support\n\n| Language                      | Supported Versions   | Supported Compilers          | Feature Support   |\n|-------------------------------|----------------------|------------------------------|-------------------|\n| **C**                         | C99, C11             | GCC 8+, clang 9+, MSVC 2017+ | Host- and VM-side |\n| **C++**                       | C++17                | GCC 8+, clang 9+, MSVC 2017+ | Host- and VM-side |\n| **Go** _(bindings)_           | 1.11+ (with modules) |                              | Host-side only    |\n| **Rust** _(bindings)_[¹](#n1) | 2018 edition         | 1.47.0 and newer             | VM-side only      |\n| **Java** _(bindings)_[²](#n2) | 11                   |                              | Host-side only    |\n\n1. \u003csup id=\"n1\"\u003e↑\u003c/sup\u003e Rust support is limited and not complete yet, but it is mostly functional already. Breaking changes are possible at this stage.\n2. \u003csup id=\"n2\"\u003e↑\u003c/sup\u003e Java support is in progress and the interface remains in flux. Breaking changes are possible at this stage.\n\n### Testing tools\n\n* **evmc run** ([tools/evmc]) — executes bytecode in any EVMC-compatible VM implementation.\n* **evmc-vmtester** ([tools/vmtester]) — can test any EVM implementation for compatibility with EVMC.\n\n\n## Related projects\n\n### EVMs\n\n- [aleth-interpreter]\n- [Daytona]\n- [eip1962-evmc] (EIP-2003 style precompile)\n- [evmjit]\n- [evmone]\n- [Hera]\n- [Hera.rs]\n- [ssvm-evmc]\n\n### Clients\n\n- [aleth]\n- [core-geth] (in progress)\n- [erigon] (with silkworm)\n- [evmc-js]\n- [go-ethereum] (in progress)\n- [nim-evmc]\n- [phant] (in progress)\n- [pyevm] (in progress)\n- [pyethereum] (abandoned)\n- [rust-ssvm] (Rust Host-side)\n- [silkworm]\n- [Solidity] (for integration testing)\n\n## Maintainers\n\n- Alex Beregszaszi [@axic]\n- Paweł Bylica [@chfast]\n\nSee also the list of [EVMC Authors](AUTHORS.md).\n\n## Contributing\n\n[![chat: on gitter][gitter badge]][Gitter]\n\nTalk with us on the [EVMC Gitter chat][Gitter].\n\n## License\n\n[![license badge]][Apache License, Version 2.0]\n\nLicensed under the [Apache License, Version 2.0].\n\n## Internal\n\n### Making new release\n\n1. Update [CHANGELOG.md](CHANGELOG.md), put the release date, update release link.\n2. `git add CHANGELOG.md`.\n3. Tag new release: `bumpversion --allow-dirty prerel`.\n4. Prepare CHANGELOG for next release: add unreleased section and link.\n5. `git add CHANGELOG.md`.\n6. Start new release series: `bumpversion --allow-dirty --no-tag minor`.\n\n\n[@axic]: https://github.com/axic\n[@chfast]: https://github.com/chfast\n[Apache License, Version 2.0]: LICENSE\n[documentation]: https://ethereum.github.io/evmc\n[ewasm]: https://github.com/ewasm/design\n[evmjit]: https://github.com/ethereum/evmjit\n[evmone]: https://github.com/ethereum/evmone\n[Hera]: https://github.com/ewasm/hera\n[Hera.rs]: https://github.com/ewasm/hera.rs\n[Daytona]: https://github.com/axic/daytona\n[eip1962-evmc]: https://github.com/axic/eip1962-evmc\n[erigon]: https://github.com/erigontech/erigon\n[ssvm-evmc]: https://github.com/second-state/ssvm-evmc\n[Gitter]: https://gitter.im/ethereum/evmc\n[aleth-interpreter]: https://github.com/ethereum/aleth/tree/master/libaleth-interpreter\n[aleth]: https://github.com/ethereum/aleth\n[Solidity]: https://github.com/ethereum/solidity\n[nim-evmc]: https://github.com/status-im/nim-evmc\n[go-ethereum]: https://github.com/ethereum/go-ethereum/pull/17954\n[phant]: https://github.com/jsign/phant\n[pyevm]: https://github.com/ethereum/py-evm\n[pyethereum]: https://github.com/ethereum/pyethereum/pull/406\n[silkworm]: https://github.com/erigontech/silkworm\n[core-geth]: https://github.com/etclabscore/core-geth/issues/55\n[evmc-js]: https://github.com/RainBlock/evmc-js\n[rust-ssvm]: https://github.com/second-state/rust-ssvm\n[standard readme]: https://github.com/RichardLitt/standard-readme\n[tools/evmc]: https://github.com/ethereum/evmc/tree/master/tools/evmc\n[tools/vmtester]: https://github.com/ethereum/evmc/tree/master/tools/vmtester\n\n[gitter badge]: https://img.shields.io/gitter/room/ethereum/evmc.svg\n[license badge]: https://img.shields.io/github/license/ethereum/evmc.svg?logo=apache\n[readme style standard badge]: https://img.shields.io/badge/readme%20style-standard-brightgreen.svg\n","funding_links":[],"categories":["Smart Contract Platforms"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipsilon%2Fevmc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipsilon%2Fevmc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipsilon%2Fevmc/lists"}