Skip to main content

Aleo 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 apps.

⚡ Build your own app

Start here with the documentation and follow the instructions to install the Aleo SDK to get started building your first zero knowledge web app.

Source: sdk/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.

⚡ Build your own app

You can start with a template by running

npm create leo-app@latest

Source: sdk/create-leo-app

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

Create Aleo App Create Aleo App Aleo-Wasm

Aleo Wasm is a Rust crate which compiles Aleo 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 NodeJS. This package is available on NPM (linked above). The documentation 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: sdk/wasm

4. Aleo Python SDK - Zero Knowledge Algorithms in Python and Zero Knowledge Machine Learning

The official Aleo Python SDK providing tools for creating zero knowledge apps. It consists of two separate libraries:

  • The aleo library, which uses foreign function interfaces to bring snarkVM functionalities to Python.
  • The zkml library, which transpiles scikit-learn machine learning models into Leo programs for inference.

Both libraries are in an early development stage. They can be installed through pip install aleo respectively pip install zkml. The documentation on the aleo library and the documentation on the zkml library provide more information on installation and usage.

Source: python-sdk

📚 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 Aleo 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