{"id":50939039,"url":"https://github.com/komozoi/komozoievm","last_synced_at":"2026-06-17T12:01:27.620Z","repository":{"id":361328983,"uuid":"1254057772","full_name":"komozoi/komozoievm","owner":"komozoi","description":"The Komozoi EVM implmentation","archived":false,"fork":false,"pushed_at":"2026-06-06T06:36:07.000Z","size":177,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-06T08:13:28.052Z","etag":null,"topics":["cplusplus","cpp","emulator","ethereum","evm","python","python3","virtual-machine"],"latest_commit_sha":null,"homepage":"","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/komozoi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-30T05:08:07.000Z","updated_at":"2026-06-06T06:36:10.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/komozoi/komozoievm","commit_stats":null,"previous_names":["komozoi/komozoievm"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/komozoi/komozoievm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/komozoi%2Fkomozoievm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/komozoi%2Fkomozoievm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/komozoi%2Fkomozoievm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/komozoi%2Fkomozoievm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/komozoi","download_url":"https://codeload.github.com/komozoi/komozoievm/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/komozoi%2Fkomozoievm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34447266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-17T02:00:05.408Z","response_time":127,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["cplusplus","cpp","emulator","ethereum","evm","python","python3","virtual-machine"],"created_at":"2026-06-17T12:01:12.257Z","updated_at":"2026-06-17T12:01:27.614Z","avatar_url":"https://github.com/komozoi.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Komozoi EVM\n\nKomozoi EVM is a high-performance Ethereum Virtual Machine simulator written in\nC++17, with first-class Python bindings.  It is designed to let applications\nbuild a mock blockchain (or attach to a real one), seed its state, and execute\ntransactions and smart-contract calls against it as if they had been mined.\n\nTypical uses include:\n\n- Building and back-testing MEV bots and trading strategies.\n- Writing fast, deterministic integration tests for smart contracts.\n- Researching chain behavior, gas accounting, and execution traces.\n- Prototyping new chain logic on top of an Ethereum-compatible execution layer.\n\nI originally built this for my MEV bot.  No, I didn't make any money.  The reason\nI didn't use existing projects is that they integrate poorly with my codebases.\n\nThis is in the early stages, do not expect it to be perfect.  This was tested on\na lot of real transactions but is known to have limitations in some very few cases.\nPlease report issues if you find them.\n\n## Features\n\n- Full EVM execution with gas accounting and access-list support.\n- Pluggable `StateProvider` / `ChainProvider` interface — back the simulator\n  with an in-memory mock chain, your own database, or a live RPC endpoint.\n- Ethereum transaction builder and signer (secp256k1).\n- Tracing hooks for contract calls and event logs.\n- Built on [libexcessive](https://gitea.com/komozoi/excessive) for allocators,\n  containers, hashing, and IO.\n- Python bindings will be published as binary wheels on PyPI.\n\n## Repository layout\n\n```\nsrc/\n  crypto/        secp256k1 and hashing primitives\n  ethereum/      EVM, transactions, simulation context\n  interface/     ChainProvider / StateProvider abstractions\n  util/          Bytes, math, and supporting utilities\n  python.cpp     pybind11 entry point for the Python module\npython/          Python package sources and tests\ndocs/            Documentation (see docs/python/README.md for the Python API)\n```\n\n## Building the C++ library\n\nRequirements: a C++17 compiler, CMake 3.14+, and GoogleTest for the test\ntarget.  libexcessive is fetched automatically by CMake.\n\n```bash\ncmake -S . -B build -DCMAKE_BUILD_TYPE=Release\ncmake --build build --target komozoievm\n```\n\nTo build and run the test suite:\n\n```bash\ncmake --build build --target evm_tests\n./build/evm_tests\n```\n\n### CMake options\n\n| Option                   | Default | Description                                            |\n|--------------------------|---------|--------------------------------------------------------|\n| `BUILD_CXX_TESTS`        | `ON`    | Build the `evm_tests` GoogleTest executable.           |\n| `BUILD_PYTHON_BINDINGS`  | `OFF`   | Build the `_komozoievm` Python extension module.       |\n\n## Python bindings\n\nInstall from PyPI:\n\n```bash\npip install komozoi-evm\n```\n\nOr build from a source checkout:\n\n```bash\npip install .\n```\n\nA minimal example:\n\n```python\nimport komozoievm as evm\n\nsrc = \"0x00000000000000000000000000000000000000ab\"\ndst = \"0x00000000000000000000000000000000000000cd\"\n\nchain = evm.MockChain()\nchain.set_balance(src, 10 * 10**18)\nchain.set_code(dst, b\"\\x00\")  # STOP\n\nblock = evm.BlockInfo(number=1, timestamp=1_700_000_000, base_fee=10)\nresult = chain.simulate(dst, src, b\"\", 0, block)\nprint(result.success, result.return_data.hex())\n```\n\nThe full Python API reference lives in [`docs/python/README.md`](docs/python/README.md).\nRunnable examples — including a script that forks mainnet state from Infura\nand simulates a transaction on top of it — are in\n[`examples/python/`](examples/python/README.md).\n\n## Contributing\n\nContributions are welcome.  Please read [`CONTRIBUTING.md`](CONTRIBUTING.md)\nbefore opening a pull request, and report security issues privately as\ndescribed in [`SECURITY.md`](SECURITY.md).\n\n## License\n\nKomozoi EVM is distributed under the Apache License, Version 2.0.  See the\n[`LICENSE`](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomozoi%2Fkomozoievm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkomozoi%2Fkomozoievm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkomozoi%2Fkomozoievm/lists"}