zkApp programmability is not yet available on the Mina Mainnet, but zkApps can now be deployed on Berkeley Testnet.
zkApps Overview
What are zkApps?
zkApps (zero knowledge apps) are Mina Protocol smart contracts powered by zero knowledge proofs, specifically using zk-SNARKs.
zkApps use an off-chain execution and mostly off-chain state model. This architecture allows for private computation and state that can be either private or public.
zkApps can perform arbitrarily-complex computations off-chain while incurring only a flat fee to send the resulting zero knowledge proof to the chain for verification of this computation. This cost saving benefit is in contrast to other blockchains that run computations on-chain and use a variable gas-fee based model.
To learn more, see How zkApps Work.
TypeScript
zkApps are written in TypeScript.
TypeScript provides an easy, familiar language (JavaScript), but with type safety, making it easy to get started writing zkApps. If you're new to using TypeScript, check out this helpful 12-min introductory video TypeScript - The Basics.
To learn more, see How to Write a zkApp.
Examples of zkApps
Play around with a few example zkApps to see what's possible:
Learn more
To learn more about developing zkApps, see how zkApps work, how to write a zkApp and zkApps for Ethereum Developers.
Try the zkApps tutorials to learn by doing!
Get help and join the community
Join the #zkapps-developers channel on Mina Protocol Discord.