# Zilkworm Documentation > A native, lightweight, performant ZKEVM core written in C++. Generates ZK proofs that an Ethereum block was executed correctly without re-executing the block itself. ## Fundamentals - [Background](https://zilkworm.erigon.tech/documentation/fundamentals/background) — Background of the technology and internals of the zkEVM - [Write Your Own Rollups Using Zilkworm](https://zilkworm.erigon.tech/documentation/fundamentals/write-your-own-rollups-using-zilkworm) — How Zilkworm could power L2/rollup proofs (projection — L2 execution and proving are not yet supported). ## Getting Started - [CLI reference](https://zilkworm.erigon.tech/documentation/getting-started/cli-reference) — CLI Reference - [Ethproofs prover](https://zilkworm.erigon.tech/documentation/getting-started/ethproofs-prover) — This page covers only the Ethproofs integration through the service mode - [How it works](https://zilkworm.erigon.tech/documentation/getting-started/how-it-works) — How the Zilkworm prover works — the C++ EVM core runs as riscv32im firmware inside a zkVM that traces execution and proves it with a pluggable backend such as SP1. - [Quickstart: Hypercube prover](https://zilkworm.erigon.tech/documentation/getting-started/quickstart-hypercube) — This guide walks you through running proofs for mainnet Ethereum blocks with the SP1 Hypercube prover. Hypercube is deeply integrated within zilkworm to run efficiently. Zilkworm's compiled guest is hosted and run through the Hypercube zkVM with the service command. Optionally, the service provides direct Ethproofs integration. This example guide uses the pre-built docker image. - [Running The Prover Service](https://zilkworm.erigon.tech/documentation/getting-started/running-the-prover) — This page describes how to use these features through various commands and subcommands. ## Home - [Welcome](https://zilkworm.erigon.tech/documentation) — Documentation for Zilkworm, a native, lightweight, performant ZKEVM core written in C++. ## Testing - [Ethereum Execution Tests (EESTs)](https://zilkworm.erigon.tech/documentation/testing/ethereum-execution-tests-eests) — Run the Ethereum Execution Spec Tests (EELS-derived fixtures) against Zilkworm to verify EVM correctness across forks. - [RISC-V Testing: EESTs on rv32im via QEMU](https://zilkworm.erigon.tech/documentation/testing/riscv-testing-eests-on-rv32im-via-qemu) — Full guide to running and understanding EESTs for the RISC-V target architecture with QEMU.