Aleo Python SDK: empowering developers with zkSnarks capabilities
Welcome to the Aleo Python SDK, a sophisticated set of libraries designed to provide Python developers with robust zero-knowledge (zk) capabilities. This SDK is a gateway to utilizing zkSnarks within Python applications, extending the capabilities of the Aleo blockchain.
Codebases included:
- sdk: this library bridges Aleo functionalities to Python developers. It establishes a seamless connection between Python applications and Aleo blockchain features.
- zkml: the zkml library serves as a transpiler, converting Python machine learning models into Leo code. This functionality is pivotal for integrating machine learning capabilities into the Aleo blockchain.
- zkml-research: focused on researching accurate and constraint-efficient zkML techniques, this library is primarily intended for internal purposes, contributing to the evolution of zkSnark-based machine learning.
For comprehensive details on each codebase, refer to their respective folders in the project’s GitHub repository.
Aleo Python SDK
The Aleo Python SDK, currently in its alpha preview stage, can be installed via pip using the following command:
pip3 install zkml
Alternatively, you can clone it from GitHub:
and run the installation script:
bash install.sh
Upon installation, a private key is generated by utilizing the entropy present on the user’s device.
Contributing. Contributions to the SDK are welcome. Please follow the contribution guidelines outlined on the GitHub repository.
Future work planned. The Aleo Python SDK is poised for expansion, with upcoming features including:
- Aleo Account Management
- Aleo program deployment, execution, and management
- Leo program compilation and execution
Integration with Aleo’s ZkML Package is also planned, enabling a comprehensive suite of Aleo program execution and account management capabilities in conjunction with ZkML.
Python to Leo: machine learning model transpiler
This Python library offers the ability to transpile Python machine learning models into Leo code. It provides tools to execute the transpiled code from Python and generate zk proofs.
Getting started for users (Python ML developers)
Prerequisites:
- Python 3.9.6 or newer
- Leo version 1.9.3 or newer
Installation:
Install using the following command:
pip3 install zkml
Through the GitHub repository:
- Clone the repository, or download the
.whl
or.tar.gz
file from thedist
folder. - Navigate to the
dist
directory containing the.whl
or.tar.gz
file:
cd dist
3. Install using pip:
pip3 install zkml-0.0.1b1-py3-none-any.whl
OR
pip3 install zkml-0.0.1b1.tar.gz
For detailed usage and examples, explore the provided examples in the GitHub repository.
Guide for Library developers
Setup:
- Clone the repository.
- Ensure no previous version of zkml is installed:
pip3 uninstall zkml
3. Navigate to the zkml source code directory:
cd zkml
4. Install in editable mode:
pip3 install -e .
For an efficient contribution workflow, please adhere to the contribution guidelines and consider reaching out to the developers before making significant contributions.
Key advantages of Aleo Python SDK:
- Zero-knowledge capabilities: empower Python applications with advanced zero-knowledge (zk) capabilities, enhancing privacy and security.
- Seamless integration with Aleo: utilize the
sdk
library for seamless integration with Aleo blockchain features, enabling direct interaction with Aleo functionalities. - Machine learning integration: transpile Python machine learning models into Leo code using the
zkml
library, facilitating the integration of machine learning with Aleo blockchain. - Private key generation and security measures: the SDK incorporates a secure private key generation mechanism based on device entropy, ensuring a robust security foundation within the Aleo ecosystem.
- Active community and future expansion: join an active developer community, contribute to the SDK’s growth, and look forward to future expansions, including account management, program deployment, and integration with Aleo’s ZkML Package.
Unlock the potential of zkSnarks in Python with Aleo Python SDK. Elevate your development capabilities with the integration of zk into Python apps.
Prepared by Colliseum