{"id":15654279,"url":"https://github.com/zemse/evm-run","last_synced_at":"2025-07-27T21:34:34.246Z","repository":{"id":49350562,"uuid":"469490717","full_name":"zemse/evm-run","owner":"zemse","description":"🏃 Run EVM code from console or file, on local or mainnet fork.","archived":false,"fork":false,"pushed_at":"2024-08-05T14:16:27.000Z","size":299,"stargazers_count":30,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"rust","last_synced_at":"2025-04-15T06:16:28.800Z","etag":null,"topics":["bytecode","ethereum","evm","golfing"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zemse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-03-13T20:46:20.000Z","updated_at":"2025-02-01T08:40:19.000Z","dependencies_parsed_at":"2024-08-05T16:23:53.266Z","dependency_job_id":null,"html_url":"https://github.com/zemse/evm-run","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemse%2Fevm-run","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemse%2Fevm-run/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemse%2Fevm-run/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zemse%2Fevm-run/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zemse","download_url":"https://codeload.github.com/zemse/evm-run/tar.gz/refs/heads/rust","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249016644,"owners_count":21198833,"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":["bytecode","ethereum","evm","golfing"],"created_at":"2024-10-03T12:50:22.952Z","updated_at":"2025-04-15T06:16:34.142Z","avatar_url":"https://github.com/zemse.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# evm-run\n\nRun evm code from console or from file, on local env or mainnet fork.\n\n## Setup\n\nClone this repo and run the following command:\n\n```\ncargo install --path .\n```\n\n## Usage\n\n### Run code directly\n\nCalculates square\n\n```\n$ evm-run --code 348002600052596000f3 --value 3\n34 CALLVALUE\n80 DUP1      Stack: 3\n2 MUL        Stack: 3,3\n60 PUSH1     Stack: 9\n52 MSTORE    Stack: 0,9\n59 MSIZE                Memory: 0000000000000000000000000000000000000000000000000000000000000009\n60 PUSH1     Stack: 20  Memory: 0000000000000000000000000000000000000000000000000000000000000009\nf3 RETURN    Stack: 0,20 Memory: 0000000000000000000000000000000000000000000000000000000000000009\nReturned: 0000000000000000000000000000000000000000000000000000000000000009\ngasUsed : 24\n```\n\n### Run pseudo code\n\n```\n$ evm-run --code 'push1 02 push1 03 add stop'\ncode 600260030100\n60 PUSH1\n60 PUSH1 Stack: 2\n1 ADD    Stack: 3,2\n0 STOP   Stack: 5\nReturned:\ngasUsed : 9\n```\n\n### Mainnet fork\n\nRun evm code against mainnet fork, to get balance of vitalik.\n\n```\n% evm-run 363d600C373d51313d52593df3 --calldata d8dA6BF26964aF9D7eEd9e03E53415D37aA96045 --rpc https://eth-mainnet.alchemyapi.io/v2/\u003cAPI-KEY\u003e --block 14379250\n36 CALLDATASIZE\n3d RETURNDATASIZE Stack: 14\n60 PUSH1          Stack: 0,14\n37 CALLDATACOPY   Stack: C,0,14\n3d RETURNDATASIZE               Memory: 000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045\n51 MLOAD          Stack: 0      Memory: 000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045\n31 BALANCE        Stack: D8DA6BF26964AF9D7EED9E03E53415D37AA96045 Memory: 000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045\n3d RETURNDATASIZE Stack: E034B8C125409C0113                       Memory: 000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045\n52 MSTORE         Stack: 0,E034B8C125409C0113                     Memory: 000000000000000000000000d8da6bf26964af9d7eed9e03e53415d37aa96045\n59 MSIZE                                                          Memory: 0000000000000000000000000000000000000000000000e034b8c125409c0113\n3d RETURNDATASIZE Stack: 20                                       Memory: 0000000000000000000000000000000000000000000000e034b8c125409c0113\nf3 RETURN         Stack: 0,20                                     Memory: 0000000000000000000000000000000000000000000000e034b8c125409c0113\nReturned: 0000000000000000000000000000000000000000000000e034b8c125409c0113\ngasUsed : 2630\n```\n\n### Run block\n\n```\nevm-run --block 20132136 --rpc https://eth-mainnet.g.alchemy.com/v2/\u003cAPI-KEY\u003e\nrunning block\n████████████░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ 1589329/12195104\n```\n\nGenerates and stores a partial state trie in `block_20132136.db`. This is just enough to execute the block.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemse%2Fevm-run","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzemse%2Fevm-run","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzemse%2Fevm-run/lists"}