ProvableHQ / sdk

A Software Development Kit (SDK) for Zero-Knowledge Transactions
https://provable.tools
GNU General Public License v3.0
593 stars 471 forks source link
aleo blockchain sdk zero-knowledge zksnarks

Website

Zero-Knowledge Web App SDK

The Aleo SDK provides tools for building zero-knowledge applications. It consists of several TypeScript & JavaScript libraries which provide the following functionality:

  1. Aleo account management
  2. Web-based program execution and deployment
  3. Aleo credit transfers
  4. Management of program state and data
  5. Communication with the Aleo network

All of this functionality is demonstrated on Provable.tools.

The Aleo SDK is divided into three TypeScript/JavaScript packages:

1. Aleo SDK - Build Zero-Knowledge Web Apps

Aleo SDK

The official Aleo SDK providing JavaScript/TypeScript tools for creating zero-knowledge applications.

⚑ Build your own app

Start here with the Aleo SDK Readme to get started building your first zero-knowledge web app.

Source: Aleo SDK

2. Create-Leo-App - Zero-Knowledge Web App Examples

Create Leo App

Create-leo-app provides zero-knowledge web app examples in common web frameworks such as React. Developers looking to start with working examples should start here.

Source: sdk/create-leo-app

3. Aleo Wasm - Zero-Knowledge Algorithms in JavaScript + WebAssembly

Create Leo App Create Leo App Aleo-Wasm

Aleo Wasm is a Rust crate which compiles the Aleo source code responsible for creating and executing zero-knowledge programs into WebAssembly.

When compiled with wasm-pack, JavaScript bindings are generated for the WebAssembly allowing Aleo zero-knowledge programs to be used in the browser and Node.js. This package is available on NPM (linked above). The Aleo Wasm readme provides instructions for compiling this crate and using it in web projects for those interested in building from source.

❗ Currently, program execution is only available in web browsers. However, account, program, and data management within NodeJS is functional.

Source: Aleo Wasm

πŸ“š Documentation

API Documentation

API Documentation, tutorials for the Aleo SDK, and documentation on how to build Leo and Aleo Instructions programs can be found on the Leo Developer Docs page.

SDK Readme

The SDK readme provides concepts core to executing zero-knowledge programs in the web and several detailed examples of how to use the SDK to build web apps using Aleo.

Aleo Wasm Readme

The Aleo Wasm readme provides instructions for compiling the Aleo Wasm crate and using it in web projects. Those who want to build from source or create their own WebAssembly bindings should start here.

❀️ Contributors

Thanks goes to these wonderful people (emoji key):

Mike Turner
Mike Turner

πŸ’» 🚧 πŸ’¬ πŸ‘€
Brent C
Brent C

πŸ’» 🚧 πŸ’¬ πŸ‘€
Collin Chin
Collin Chin

πŸ’» 🚧 πŸ’¬ πŸ‘€
Howard Wu
Howard Wu

πŸ’» πŸ€” πŸ”¬ πŸ‘€
Raymond Chu
Raymond Chu

πŸ’» πŸ€” πŸ”¬ πŸ‘€
d0cd
d0cd

πŸ’» πŸ€” πŸ”¬ πŸ‘€
Alessandro Coglio
Alessandro Coglio

πŸ“– πŸ”¬ πŸ‘€
a h
a h

πŸ’» πŸ“–
Anthony DiPrinzio
Anthony DiPrinzio

πŸ’»
Ali Mousa
Ali Mousa

πŸ’»
Ivan Litteri
Ivan Litteri

πŸ’»
Nacho Avecilla
Nacho Avecilla

πŸ’»
ljedrz
ljedrz

πŸ’»
Facundo Olano
Facundo Olano

πŸ’»
Nicolas Continanza
Nicolas Continanza

πŸ’»
Mike
Mike

πŸ’»
Javier RodrΓ­guez Chatruc
Javier RodrΓ­guez Chatruc

πŸ’»
Pablo Deymonnaz
Pablo Deymonnaz

πŸ’»
Bob Niu
Bob Niu

πŸ’»
sptg
sptg

πŸ’»
Hamza Khchichine
Hamza Khchichine

πŸ’»
Kendrick
Kendrick

πŸ’»
Dependabot
Dependabot

πŸ’»
All Contributors
All Contributors

πŸ“–
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!