Languages to write ZK? (DSLs)
- Published on
💡Key Ideas:
There are general-purpose languages like Rust and JavaScript that you can use to write ZK programs. There's also domain-specific languages (DSLs) like Circom, Cairo, Noir that you can use to write ZK programs. There are many different criterias which you can evaluate to select your language:
- Growth/size of ecosystem
- Maturity of toolchain
- Degree of familiarity with similar languages
An incomplete list of ZK languages include:
MY RECOMMENDATION is to do Rust + Rust-like languages like:
This will allow you to do:
- Rust + Cairo/Noir + zkVMs + Halo2
An alternative if you wanna go deeper into zk circuit engineering and performance is important then you might want to learn Circom
🔗 Links:
https://github.com/microbecode/zk-languages
Speedrun de ZK: Noir, Circom, Zokrates en 15 mins by Ahmed Castro
🛠️ Build and Practice:
Compare them out: https://github.com/microbecode/zk-languages
Try them out implementing tutorials or small programs (like number comparison, number guessing, or sudoku)