TypeScript framework for zk-SNARKs and zkApps
npm install o1jso1js 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.