Zero KnowledgeBlockChain

Languages to write ZK? (DSLs)

By Joel Lozano
Picture of the author
Published on
programar-en-zero-k

💡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)

Stay Tuned

Get informed about the latest publications
The best articles, links and news related to web development delivered once a week to your inbox.