diff --git a/.all-contributorsrc b/.all-contributorsrc new file mode 100644 index 0000000000..91f6f4d767 --- /dev/null +++ b/.all-contributorsrc @@ -0,0 +1,13 @@ +{ + "projectName": "leo", + "projectOwner": "AleoHQ", + "repoType": "github", + "repoHost": "https://github.com", + "files": ["README.md"], + "imageSize": 100, + "contributorsPerLine": 7, + "contributorsSortAlphabetically": false, + "linkToUsage": true, + "skipCi": true, + "contributors": [] +} \ No newline at end of file diff --git a/README.md b/README.md index b2c8e33778..499da55240 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,7 @@ +

Leo is a functional, statically-typed programming language built for writing private applications. @@ -22,7 +23,8 @@ Leo is a functional, statically-typed programming language built for writing pri * [4. Troubleshooting](#4-troubleshooting) * [5. Documentation](#5-documentation) * [6. Contributing](#6-contributing) -* [7. License](#7-license) +* [7. Contributors](#7-contributors) +* [8. License](#8-license) ## 1. Overview @@ -112,5 +114,131 @@ Please see our guidelines in the [developer documentation](./CONTRIBUTING.md) Thank you for helping make Leo better! -## 7. License +

+ +

+ +

The Leo Programming Language

+ +

+ + + + +

+ +Leo is a functional, statically-typed programming language built for writing private applications. + +## Table of Contents + +* [1. Overview](#1-overview) +* [2. Build Guide](#2-build-guide) + * [2.1 Install Rust](#21-install-rust) + * [2.2 Build from Source Code](#22-build-from-source-code) +* [3. Quick Start](#3-quick-start) +* [4. Troubleshooting](#4-troubleshooting) +* [5. Documentation](#5-documentation) +* [6. Contributing](#6-contributing) +* [7. License](#7-license) + + +## 1. 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://aleo.org/). +The language is currently in an alpha stage and is subject to breaking changes. + +## 2. Build Guide + +### 2.1 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. + +### 2.2 Build from Source Code + +We recommend installing Leo by building from the source code as follows: + +```bash +# Download the source code +git clone https://github.com/AleoHQ/leo +cd leo + +# Install 'leo' +$ cargo install --path . +``` + +Now to use leo, in your terminal, run: +```bash +leo +``` + +## 3. 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 +``` + +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. + +## 4. 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/AleoHQ/leo/issues/new/choose). + +## 5. Documentation + +* [Hello World - Next Steps](https://developer.aleo.org/leo/hello) +* [Leo Language Documentation](https://developer.aleo.org/leo/language) +* [Leo ABNF Grammar](./docs/grammar/abnf-grammar.txt) +* [Homepage](https://developer.aleo.org/overview/) + +## 6. Contributing + +Please see our guidelines in the [developer documentation](./CONTRIBUTING.md) + +Thank you for helping make Leo better! + +## 7. Contributors + + + + + + + + + + +## 8. License [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](./LICENSE.md)