Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ProvableHQ/leo

๐Ÿฆ The Leo Programming Language. A Programming Language for Formally Verified, Zero-Knowledge Applications
https://github.com/ProvableHQ/leo

compiler leo programming-language zero-knowledge zksnarks

Last synced: about 1 month ago
JSON representation

๐Ÿฆ The Leo Programming Language. A Programming Language for Formally Verified, Zero-Knowledge Applications

Awesome Lists containing this project

README

        

The Leo Programming Language









Leo is a functional, statically-typed programming language built for writing private applications.

## Table of Contents

* [๐ŸŽ Overview](#-overview)
* [โš™๏ธ๏ธ Build Guide](#-build-guide)
* [๐Ÿฆ€ Install Rust](#-install-rust)
* [๐Ÿ™ Build from Source Code](#-build-from-source-code)
* [๐Ÿฆ Update from Leo](#-update-from-leo)
* [๐Ÿ“ฆ Download using Cargo](#-download-using-cargo)
* [๐Ÿš€ Quick Start](#-quick-start)
* [๐Ÿงฐ Troubleshooting](#-troubleshooting)
* [๐Ÿ“– Documentation](#-documentation)
* [๐Ÿค Contributing](#-contributing)
* [โค๏ธ Contributors](#-contributors)
* [๐Ÿ›ก๏ธ License](#-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](https://leo-lang.org/).
The language is currently in an alpha stage and is subject to breaking changes.

## โš™๏ธ๏ธ Build Guide

### ๐Ÿฆ€ Install Rust

We recommend installing Rust using [rustup](https://www.rustup.rs/). You can install `rustup` as follows:

- macOS or Linux:
```bash
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
```

- Windows (64-bit):

Download the [Windows 64-bit executable](https://win.rustup.rs/x86_64) and follow the on-screen instructions.

- Windows (32-bit):

Download the [Windows 32-bit executable](https://win.rustup.rs/i686) and follow the on-screen instructions.

### ๐Ÿ™ Build from Source Code

We recommend installing Leo by building from the source code as follows:

```bash
# Download the source code and initialize the submodules
git clone --recurse-submodules https://github.com/ProvableHQ/leo
cd leo

# Install 'leo'
$ cargo install --path .
```

Now to use leo, in your terminal, run:
```bash
leo
```

### ๐Ÿฆ Update from Leo

You can update Leo to the latest version using the following command:

```bash
leo update
```
Now to check the version of leo, in your terminal, run:
```bash
leo --version
```

## ๐Ÿš€ Quick Start

Use the Leo CLI to create a new project

```bash
# 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](docs/troubleshooting.md).

If the issue still persists, please [open an issue](https://github.com/ProvableHQ/leo/issues/new/choose).

## ๐Ÿ“– Documentation

* [Hello World - Next Steps](https://docs.leo-lang.org/leo/hello)
* [Leo Language Documentation](https://docs.leo-lang.org/leo/language)
* [Leo ABNF Grammar](https://github.com/AleoHQ/grammars/blob/master/leo.abnf)
* [Homepage](https://docs.leo-lang.org/overview/)

## ๐Ÿค Contributing

Please see our guidelines in the [developer documentation](./CONTRIBUTING.md)

## โค๏ธ Contributors

View all Leo contributors [here](./CONTRIBUTORS.md).

## ๐Ÿ›ก๏ธ License
[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](./LICENSE.md)

๐Ÿ”ผ Back to top