Skip to content

o1-labs/o1js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

76fd709 · Apr 24, 2025
Apr 17, 2025
Mar 26, 2025
Sep 24, 2024
Jul 2, 2024
Apr 24, 2025
Feb 16, 2025
Feb 10, 2025
Apr 22, 2025
Apr 8, 2025
Feb 13, 2025
Feb 6, 2025
Feb 6, 2025
Apr 24, 2025
Oct 16, 2024
May 15, 2024
Sep 2, 2021
Apr 23, 2025
Apr 23, 2025
Apr 3, 2025
Sep 28, 2023
Apr 22, 2025
Apr 22, 2025
Dec 4, 2024
Feb 23, 2023
Oct 27, 2023
Apr 1, 2025
Apr 1, 2025
Apr 22, 2025
Dec 12, 2024
Feb 13, 2025
Dec 18, 2023
Jan 8, 2025
Apr 20, 2024
Aug 2, 2024
Nov 28, 2024
Dec 13, 2023
Apr 16, 2024
Feb 21, 2024
Sep 9, 2024
Dec 19, 2023
Sep 13, 2022
Nov 14, 2023
Feb 13, 2024
Jun 11, 2024
Mar 14, 2024
Feb 13, 2025
Nov 30, 2022
Mar 13, 2025
Mar 6, 2024

Repository files navigation

o1js   npm version npm PRs Welcome

ℹ️ o1js is an evolution of SnarkyJS which saw 49 updated versions over two years of development with 43,141 downloads.

This name change to o1js reflects the evolution of our vision for the premiere toolkit used by developers to build zero knowledge-enabled applications, while paying homage to our technology's recursive proof generation capabilities.

Your favorite functionality stays the same and transitioning to o1js is a quick and easy process:

  • To update zkApp-cli, run the following command:

    npm i -g zkapp-cli@latest

  • To remove the now-deprecated SnarkyJS package and install o1js, run the following command:

    npm remove snarkyjs && npm install o1js

  • For existing zkApps, make sure to update your imports from snarkyjs to o1js

  • No need to redeploy, you are good to go!

o1js

o1js helps developers build apps powered by zero knowledge (zk) cryptography.

The easiest way to write zk programs is using o1js.

o1js is a TypeScript library for zk-SNARKs and zkApps. You can use o1js to write zk smart contracts based on zero-knowledge proofs for the Mina Protocol.

o1js is automatically included when you create a project using the zkApp CLI.

Learn More

Contributing

o1js is an open source project. We appreciate all community contributions to o1js!

See the Contributing guidelines for ways you can contribute.

Development Workflow

For guidance on building o1js from source and understanding the development workflow, see o1js README-dev.

Community Packages

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.