The Halo2 Cheat Sheet
Core API patterns, 11 security pitfalls, fork comparison, working Rust code. The reference you keep open next to your editor.
Get the PDF →Why a cheat sheet?
Halo2 documentation tells you to “implement this trait” but doesn’t explain why. Blog posts cover one piece each, and none of them show the full picture. AI-generated tutorials compile but teach you patterns that break soundness.
You need a single reference that covers the API, the gotchas, and the security pitfalls, written by someone who builds ZK circuits in production.
What’s inside
Five parts covering the full halo2 stack, from basic patterns to performance tuning.
Core Concepts
How columns, selectors and constraints work in halo2, with Rust code you can copy into your project.
Building Circuits
The 4-step Circuit pattern, copy constraints, lookup arguments, multi-column lookups, lookup_any().
Testing & Debugging
MockProver usage, what it catches and what it misses, pranking for negative tests, complementary tools (Korrekt, Picus).
11 Security Pitfalls
From unconstrained cells to rotation wrapping to Fiat-Shamir bugs. Based on Trail of Bits and zkSecurity audit findings.
Ecosystem & Performance
Which fork to use (Zcash, PSE, Axiom, Icicle), where halo2 fits in the zkVM stack, Rust-specific optimization tips.
Glossary + Appendices
40+ terms defined, plus how blinding rows work and why they matter, with halo2 source code references.
This is for you if
- You write Rust and want a halo2 reference that actually explains things
- You’ve read the docs and need something more practical next to your code
- You want to know the security pitfalls before you write your first circuit
- You’re evaluating which halo2 fork to use for a new project
This is not for you if
- You’re looking for a Solidity or Circom introduction
- You want a general “what is ZK” explainer
- You’ve never written Rust
Who wrote this
Building ZK systems in Rust since 2022. Previously working on Ethereum Classic, crypto exchange infrastructure, and multiple ZK projects involving halo2, KZG, and IVC.
Helped build the plutus-halo2-verifier-gen, an open-source tool that brings ZK proof verification to Cardano.
Runs rustarians.com where Rust developers learn ZK from working code, not from slides.
What happens after signup
First you get a short email series on ZK fundamentals for Rust developers: how polynomials turn into proofs, what halo2 does with your circuit code, why some common patterns break soundness.
After that I send regular updates on what’s new in ZK for Rust devs. New papers, new libraries, bugs found in audits you should know about. Everything for people who write Rust and build with ZK, not generic crypto noise.
You’ll also hear about any live sessions or webinars I run.
Get the Halo2 Cheat Sheet
Enter your email and I’ll send you the PDF. You’ll also get emails on ZK fundamentals and regular updates on new papers, libraries, and bugs for Rust ZK devs.
The price is your email. Unsubscribe anytime.