d44457fc32
* bump snarkvm rev * update default gitignore * impl leo execute * bump snarkvm 0.14.5 * modify examples wip * update run.sh examples * impl env file * clippy warning * fix auction example * fix auction example env * generate new private key for new env - tests failing due to env not found err * commit error changes * Fix tests; clippy * Get examples working * leo build checks that build dir is well formed; clippy * Clean up * Update examples/README.md Co-authored-by: d0cd <pranavsaig@gmail.com> Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com> * do not commit .avm files * use snarkvm commands --------- Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com> Co-authored-by: Pranav Gaddamadugu <pranav@aleo.org> Co-authored-by: d0cd <pranavsaig@gmail.com> |
||
---|---|---|
.cargo | ||
.circleci | ||
.github | ||
.resources | ||
compiler | ||
docs | ||
errors | ||
examples | ||
leo | ||
tests | ||
.codecov.yml | ||
.gitattributes | ||
.gitignore | ||
.rustfmt.toml | ||
.rusty-hook.toml | ||
build.rs | ||
Cargo.lock | ||
Cargo.toml | ||
CONTRIBUTING.md | ||
DEVELOPMENT.md | ||
LICENSE.md | ||
README.md | ||
SECURITY.md |
The Leo Programming Language
Leo is a functional, 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.
🐙 Build from Source Code
We recommend installing Leo by building from the source code as follows:
# 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:
leo
🚀 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
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
Thank you for helping make Leo better!
What do the emojis mean?🧐
This project follows the all-contributors specification. Contributions of any kind welcome!