• Stars
    star
    509
  • Rank 86,709 (Top 2 %)
  • Language
    TypeScript
  • License
    Apache License 2.0
  • Created over 3 years ago
  • Updated 10 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

TypeScript framework for zk-SNARKs and zkApps

o1js   npm version PRs Welcome

ℹī¸ o1js is an evolution of SnarkyJS which saw: 49 updated versions over 2 years of development with 43,141 downloads

This name change 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 Mina 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.

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

To include your package, see Creating high-quality community packages.

More Repositories

1

snarky

OCaml DSL for verifiable computation
OCaml
494
star
2

proof-systems

The proof systems used by Mina
Rust
404
star
3

zkapp-cli

CLI to create a zkApp (zero-knowledge app) for Mina Protocol
JavaScript
114
star
4

docs2

Docs website for the Mina Protocol.
JavaScript
79
star
5

ocamlbyexample

Learn Ocaml by reading code examples
OCaml
68
star
6

zkapp-resource-kit

This repository is a resource kit contains links to all code, tools, documentation, and learning materials necessary to successfully become a zkApp developer and contributor. Add your projects or findings here!
57
star
7

snarkette

Pure OCaml implementation of the Groth-Maller SNARK verifier (and associated crypto)
OCaml
53
star
8

verkle-tree

Rust
26
star
9

Archive-Node-API

This is a GraphQL server that is built with the intention of exposing information from Mina's Archive Node
TypeScript
17
star
10

snarkyjs-workshop

TypeScript
13
star
11

o1js-bindings

Bindings for o1js to lower layers of the proof system and the Mina transaction logic
JavaScript
10
star
12

ocaml-gen

This crate provides automatic generation of OCaml bindings. Refer to the rustdoc for more information.
Rust
9
star
13

ppx_version

Versioning of types with bin_prot serialization
OCaml
8
star
14

integers_stubs_js

Javascript stubs for the integers library in js_of_ocaml
JavaScript
6
star
15

snarkyjs-examples

TypeScript
5
star
16

anonvote

JavaScript
5
star
17

mina-book

Specifications and documentation for the Mina protocol
5
star
18

snarkyjs-crypto

JavaScript crypto library accompanying snarky
OCaml
5
star
19

mina-lightweight-explorer

Lightweight Mina Explorer
HTML
4
star
20

rfcs

RFCs for everything O(1) Labs
4
star
21

wait-for-mina-network-action

GitHub Action to wait for the Mina network readiness.
TypeScript
4
star
22

sfbw-workshop

Tutorial code for the SFBW zk-SNARK workshop
OCaml
3
star
23

stationary

Static site generator
OCaml
2
star
24

code-review-question

Code review interview question repo
JavaScript
2
star
25

dune-nix

Nix wrapping suitable for multi-package dune repositories
Nix
2
star
26

libsnark-ocaml

C++
1
star
27

mina-web3

TypeScript
1
star
28

eslint-plugin-o1js

ESLint rules for o1js
TypeScript
1
star