{"id":13751230,"url":"https://github.com/succinctlabs/sp1-reth","last_synced_at":"2025-05-09T17:33:22.469Z","repository":{"id":223686140,"uuid":"761163611","full_name":"succinctlabs/sp1-reth","owner":"succinctlabs","description":"A performant, type-1 zkEVM written in Rust \u0026 SP1.","archived":false,"fork":false,"pushed_at":"2024-10-13T01:55:49.000Z","size":53737,"stargazers_count":125,"open_issues_count":2,"forks_count":32,"subscribers_count":21,"default_branch":"john/update-for-v1","last_synced_at":"2024-11-16T04:31:14.356Z","etag":null,"topics":["blockchain","contributor-friendly","ethereum","modular","rust","zero-knowledge"],"latest_commit_sha":null,"homepage":"https://succinctlabs.github.io/sp1/","language":"Rust","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/succinctlabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2024-02-21T11:07:20.000Z","updated_at":"2024-10-17T15:00:16.000Z","dependencies_parsed_at":"2024-07-27T00:30:45.361Z","dependency_job_id":"ec17c2a2-ba1d-4982-95eb-62f1ec3bb452","html_url":"https://github.com/succinctlabs/sp1-reth","commit_stats":null,"previous_names":["succinctlabs/sp1-reth"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/succinctlabs%2Fsp1-reth","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/succinctlabs%2Fsp1-reth/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/succinctlabs%2Fsp1-reth/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/succinctlabs%2Fsp1-reth/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/succinctlabs","download_url":"https://codeload.github.com/succinctlabs/sp1-reth/tar.gz/refs/heads/john/update-for-v1","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253295849,"owners_count":21885709,"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":["blockchain","contributor-friendly","ethereum","modular","rust","zero-knowledge"],"created_at":"2024-08-03T09:00:39.389Z","updated_at":"2025-05-09T17:33:22.231Z","avatar_url":"https://github.com/succinctlabs.png","language":"Rust","funding_links":[],"categories":["ZKP and zkEVM","Projects","Layer 2 ##"],"sub_categories":["Rollups"],"readme":"# SP1 Reth\n\n[![Telegram Chat][tg-badge]][tg-url]\n\n[tg-badge]: https://img.shields.io/endpoint?color=neon\u0026logo=telegram\u0026label=chat\u0026url=https://tg.sumanjay.workers.dev/succinct_sp1\n[tg-url]: https://t.me/succinct_sp1\n\n\u003e [!WARNING]\n\u003e This repository is archived and no longer maintained.\n\n![](./assets/sp1-reth.png)\n\nSP1 Reth is a 100% open-source POC that showcases how any rollup can use SP1 to build a performant (type-1, bytecode compatible) zkEVM with less than 2000 lines of maintainable Rust code. SP1 Reth achieves incredible performance (around $0.01-0.02 proving cost for an average Ethereum transaction) by leveraging SP1’s open-source, customizable precompile system, with orders of magnitude improvements to come. SP1 Reth points to a future where all rollups can become ZK rollups, utilizing the magic of ZKPs with maintainable software written in Rust.\n\n[Blog Post](https://blog.succinct.xyz/sp1-reth) | [SP1 Repo](https://github.com/succinctlabs/sp1) | [SP1 Docs](https://succinctlabs.github.io/sp1/)\n\n## Requirements\n\nTo reproduce the benchmarks in our blog post, your system will need:\n\n- 64+ CPUs\n- 512+ GB RAM\n- NVME Hard Drive\n\nWe ran our benchmarks on a i4g.16xlarge instance on AWS. You may need to add a [swap file](https://phoenixnap.com/kb/linux-swap-file) on NVME.\n\n## Run\n\nTo build your program if the Rust version required by your libraries is greater than the Succinct toolchain's version:\n\n```rust\ncargo prove build --ignore-rust-version\n```\n\nMake sure you have mounted your NVME hard drive in a RAID0 setup with at `raid0` with a `tmp` folder.\n\n```\ncd script\nTMPDIR=/mnt/raid0/tmp \\\nSHARD_SIZE=524288 \\\nRUST_LOG=\"debug,p3_keccak_air=off\" \\\nRUSTFLAGS=\"-C target-cpu=native\" \\\ncargo run --release -- \\\n  --rpc-url \u003crpc_url\u003e \\\n  --block-number \u003cblock_number\u003e\n```\n\n## Lines of Code\n\n```\n$ cloc --by-file --include-lang=Rust primitives program\n      10 text files.\n       8 unique files.\n       5 files ignored.\n\ngithub.com/AlDanial/cloc v 1.96  T=0.01 s (707.0 files/s, 264169.2 lines/s)\n------------------------------------------------------------------------------------------\nFile                                        blank        comment           code\n------------------------------------------------------------------------------------------\nprimitives/src/mpt.rs                         124            272           1022\nprimitives/src/processor.rs                    43             56            316\nprimitives/src/alloy2reth.rs                    8              3            145\nprimitives/src/db.rs                           19             11            134\nprimitives/src/lib.rs                          15             17             24\nprogram/src/main.rs                             6              5             22\n------------------------------------------------------------------------------------------\nSUM:                                          215            364           1663\n------------------------------------------------------------------------------------------\n```\n\n## Security\n\nThis code has not yet been audited, and should not be used in any production systems.\n\n## Acknowledgements\n\nWe would like to acknowledge the projects below whose previous work has been instrumental in making this project a reality:\n\n- [Reth](https://github.com/paradigmxyz/reth): For providing an excellent execution client reference and primitives needed for processing blocks.\n- [Revm](https://github.com/bluealloy/revm): For providing core execution primitives and a performant EVM implementation.\n- [Alloy](https://github.com/alloy-rs/alloy): For providing core ethereum primitives and RPC methods.\n- [Zeth](https://github.com/risc0/zeth): SP1 Reth is originally based on Zeth, but we chose to not\n  fork Zeth directly because we noticed there was an opportunity to reuse significantly more code\n  from Reth, Revm, and Alloy.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuccinctlabs%2Fsp1-reth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsuccinctlabs%2Fsp1-reth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsuccinctlabs%2Fsp1-reth/lists"}