The Aleo SDK provides tools for building zero-knowledge applications. It consists of several TypeScript & JavaScript libraries which provide the following functionality:
- Aleo account management
- Web-based program execution and deployment
- Aleo credit transfers
- Management of program state and data
- Communication with the Aleo network
All of this functionality is demonstrated on Provable.tools.
The Aleo SDK is divided into three TypeScript/JavaScript packages:
The official Aleo SDK providing JavaScript/TypeScript tools for creating zero-knowledge applications.
Start here with the Aleo SDK Readme to get started building your first zero-knowledge web app.
Source: Aleo SDK
Create-aleo-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-aleo-app
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
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.
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.
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.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!