Synthesizer Documentation
The Synthesizer is the core frontend of the Tokamak zk-EVM that converts Ethereum transactions into Tokamak zk-SNARK circuits. This documentation is organized into six main sections:
1. Concepts
Start here if you're new to the Synthesizer
Learn the fundamental concepts and high-level architecture.
2. Terminology
Quick reference for Synthesizer-specific terms
Alphabetically organized glossary of key concepts, data structures, and technical terms used throughout the Synthesizer documentation.
3. Execution Flow
Understand how transactions are processed
Follow the step-by-step execution flow from transaction input to output file generation.
4. Code Architecture
Deep dive into code structure and implementation
Explore the detailed code architecture, core classes, and integration points with EthereumJS. Includes:
- Transaction processing flow
- Repository structure
- Class structure and relationships
- Practical code examples
- Output file format reference
5. Data Structures
Master the core data types
Understand DataPt, StackPt, MemoryPt, and Placement - the key data structures for symbol processing.
6. Opcodes
Reference guide for EVM opcode implementation
Detailed opcode-by-opcode reference with circuit generation details and source code links.