Expand description
The Leo Programming Language
Leo is an imperative, statically-typed programming language built for writing private applications.Β§Table of Contents
- π Overview
- βοΈοΈ Build Guide
- π Quick Start
- π§° Troubleshooting
- π Documentation
- π€ Contributing
- β€οΈ Contributors
- π‘οΈ License
Β§π Overview
Welcome to the Leo programming language.
Leo provides a high-level language that abstracts low-level cryptographic concepts and makes it easy to integrate private applications into your stack. Leo compiles to circuits making zero-knowledge proofs practical.
The syntax of Leo is influenced by traditional programming languages like JavaScript, Scala, and Rust, with a strong emphasis on readability and ease-of-use. Leo offers developers with tools to sanity check circuits including unit tests, integration tests, and console functions.
Leo is one part of a greater ecosystem for building private applications on Aleo. The language is currently in an alpha stage and is subject to breaking changes.
Β§βοΈοΈ Build Guide
Β§π¦ Install Rust
We recommend installing Rust using rustup. You can install rustup
as follows:
-
macOS or Linux:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
-
Windows (64-bit):
Download the Windows 64-bit executable and follow the on-screen instructions.
-
Windows (32-bit):
Download the Windows 32-bit executable and follow the on-screen instructions.
Β§π Simple build
If you donβt intend to work on the Leo compiler itself, you can install the latest Leo release with:
cargo install leo-lang
Now to use leo, in your terminal, run:
leo
Β§π Build from Source Code
If youβd like to install the latest unreleased top of tree Leo, you can buid from source code as follows:
# Download the source code
git clone https://github.com/ProvableHQ/leo
cd leo
# Install 'leo'
cargo install --path .
Β§π¦ Update from Leo
You can update Leo to the latest released version using the following command:
leo update
Note that if you were using a prerelease version of Leo, this will overwrite that with the latest released version.
Now to check the version of leo, in your terminal, run:
leo --version
Β§π Quick Start
Use the Leo CLI to create a new project
# create a new `hello-world` Leo project
leo new helloworld
cd helloworld
# build & setup & prove & verify
leo run main 0u32 1u32
The leo new
command creates a new Leo project with a given name.
The leo run
command will compile the program into Aleo instructions and run it.
Congratulations! Youβve just run your first Leo program.
Β§π§° Troubleshooting
If you are having trouble installing and using Leo, please check out our guide.
If the issue still persists, please open an issue.
Β§π Documentation
Β§π€ Contributing
Please see our guidelines in the developer documentation
Β§β€οΈ Contributors
The list of contributors has been moved to a separate repository. View all Leo contributors here.