o1js makes it easy for developers to build applications powered by zero-knowledge (zk) cryptography.
Developers can use o1js to write zk circuits and prove + verify them in browser or node environment, or create proofs to be verified by the Mina Protocol.
-
zkApp CLI is a scaffolding tool to start a new project with o1js
-
To learn more about the language features, see the o1js documentation.
-
To learn how to build ZkApps on Mina, see the zkApp documentation.
-
To meet other developers building zkApps with o1js, participate in the #zkapps-developers channel on Mina Protocol Discord.
-
For a list of changes between versions, see the CHANGELOG.
-
To stay up to date with o1js, see the o1Labs Blog.
o1js is an open source project. We appreciate all community contributions to o1js!
See the Contributing guidelines for ways you can contribute.
For guidance on building o1js from source and understanding the development workflow, see o1js README-dev.
High-quality community packages from open source developers are available for your project.
- o1js-elgamal A partially homomorphic encryption library for o1js based on Elgamal encryption: GitHub and npm
- o1js-pack A library for o1js that allows a zkApp developer to pack extra data into a single Field. GitHub and npm
- zk-regex-o1js A CLI tool for compiling ZK Regex circuits in o1js. Github and npm
- eddsa-o1js A library for provable EdDSA and Twisted Edwards Curve operations. Github and npm
To include your package, see Creating high-quality community packages.