Skip to content
forked from ProvableHQ/leo

🦁 The Leo Programming Language. A Programming Language for Formally Verified, Zero-Knowledge Applications

License

Notifications You must be signed in to change notification settings

trandinncuong/leo

Β 
Β 

Repository files navigation

The Leo Programming Language

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

Table of Contents

🍎 Overview

note the the team to support install from binary

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

Install curl before proceed. 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?🧐

d0cd
d0cd

πŸ’» 🚧 πŸ’¬ πŸ‘€
Collin Chin
Collin Chin

πŸ’» πŸ“– 🚧 πŸ‘€
Howard Wu
Howard Wu

πŸ€” 🚧 πŸ”¬ πŸ‘€
Alessandro Coglio
Alessandro Coglio

πŸ“– 🚧 πŸ’¬ πŸ‘€
Eric McCarthy
Eric McCarthy

πŸ“– 🚧 πŸ’¬ πŸ‘€
Raymond Chu
Raymond Chu

πŸ€” πŸ’» πŸ”¬
ljedrz
ljedrz

πŸ› πŸ’» πŸ’¬
aharshbe
aharshbe

βœ…πŸ› πŸ’¬
Mazdak Farrokhzad
Mazdak Farrokhzad

πŸ’»
Damir Shamanaev
Damir Shamanaev

πŸ’»
gluax
gluax

πŸ’»
0rphon
0rphon

πŸ’»
Max Bruce
Max Bruce

πŸ’»
Sergey Isaev
Sergey Isaev

πŸ’»
François Garillot
François Garillot

πŸ’»
Weikeng Chen
Weikeng Chen

πŸ”¬
sptg
sptg

πŸ› πŸ’»
LouisWT
LouisWT

πŸ’»
yuliyu123
yuliyu123

πŸ’»
detailyang
detailyang

πŸ’»
Tom-OriginStorage
Tom-OriginStorage

πŸ’»
omahs
omahs

πŸ’»
Haruka
Haruka

πŸ› πŸ’»
swift-mx
swift-mx

πŸ’»
Francisco Strambini
Francisco Strambini

πŸ’»
Daniel Gushchyan
Daniel Gushchyan

βœ…
r4keta
r4keta

βœ…
liolikus
liolikus

πŸ–‹
evgeny-garanin
Evgeny Garanin

βœ…
NickoMenty
NickoMenty

βœ…
eug33ne
eug33ne

βœ…
Nininiao
Nininiao

βœ…
CTurE1
CTurE1

βœ…πŸ–‹
colliseum2006
colliseum2006

βœ…
boaaa
boaaa

βœ…
HausenUA
HausenUA

βœ…
TerrenceTepezano
TerrenceTepezano

βœ…
Zabka0x94
Zabka0x94

βœ…
DarronHanly1
DarronHanly1

βœ…
penglang
FengXiaoYong

βœ…
KassieSteinman
KassieSteinman

βœ…
MaishaAzim
MaishaAzim

βœ…
Moria-Bright
Moria Bright

βœ…
Bradshow
Bradshow

βœ…
SilvaHoffarth
SilvaHoffarth

βœ…
Elaine1015
Elaine1015

βœ…
vasylbelyi
vasylbelyi

βœ…
EgorMajj
EgorMajj

βœ…
RNS23
RNS23

βœ…
VoinaOleksandr
VoinaOleksandr

βœ…
alexprimak58
alexprimak58

βœ…
Asimous22
Asimous22

βœ…
Marik0023
Marik0023

βœ…
JanSchluter
JanSchluter

βœ…
AminaPerrigan
AminaPerrigan

βœ…
Utah8O
Utah8O

βœ…
ApoloniaResseguie
ApoloniaResseguie

βœ…
NobukoCausley
NobukoCausley

βœ…
ololo70
ololo70

βœ…
evangelion4215
evangelion4215

βœ…
boodovskiy
boodovskiy

βœ…
BULVER777
BULVER777

βœ…
Slashxdd
Kyrylo Budovskyi

βœ…
sayber1717
sayber1717

βœ…
BudiSwy
BudiSwy

βœ…
romacll
romacll

βœ…
habaroff18203
habaroff18203

βœ…
LennyPro6
LennyPro6

βœ…
n0d4
n0d4

βœ…
grossbel12
grossbel12

βœ…
Orliha
Orliha

βœ…
darjin
darjin

πŸ–‹
romacll
romacll

βœ…
aleoweb123
aleoweb123

βœ…
arosboro
Andrew Rosborough

πŸ–‹
R-Demon
R-Demon

βœ…
sryykov
sryykov

βœ…
himera0482
himera0482

βœ…
encipher88
encipher88

βœ…
Likaenigma
Likaenigma

βœ…
bartosian
bartosian

βœ…
bendenizrecep
Recep Deniz

βœ…
Saimon87
Saimon87

βœ…
BannyNo
Big Ixela

βœ…
Mistmorn0
Denys Riabets

βœ…
chipqp
Dmytro Groma

βœ…
VolodymyrRudoi
Volodymyr Rudoi

βœ…
petrofalatyuk
Petro Falatiuk

βœ…
eleven-pixel
ElsaChill

βœ…
gsulaberidze
gsulaberidze

βœ…
kegvorn
kegvorn

βœ…
totoro_me
totoro_me

βœ…
timchinskiyalex
timchinskiyalex

βœ…
DimaSpys
DimaSpys

βœ…
dimbirch
dimbirch

βœ…
YuraPySHIT
YuraPySHIT

βœ…
annabirch
annabirch

βœ…
baxzban
baxzban

βœ…
nnewera3
nnewera3

βœ…
LabLinens
LabLinens

βœ…
drimartist
drimartist

βœ…
savarach
savarach

βœ…
padjfromdota
padjfromdota

βœ…
gglorymen
gglorymen

βœ…
KrisMorisBoris
KrisMorisBoris

βœ…
WebDuster
WebDuster

βœ…
Tasham2008
Tasham2008

βœ…
760AnaPY
760AnaPY

βœ…
imshelest
imshelest

βœ…
mirmalnir
mirmalnir

βœ…
AnatoliMP
AnatoliMP

βœ…
ihortym
ihortym

βœ…
Vplmrchk
Vplmrchk

βœ…
anrd04
anrd04

βœ…
Gonruk
Gonruk

βœ…
ur4ix
ur4ix

βœ…
AllininanQ
AllininanQ

βœ…
Juliaaa26
Juliaaa26

βœ…
Hacker-web-Vi
Hacker-web-Vi

βœ…
Mickey1245
Mickey1245

βœ…
anastese
anastese

βœ…
NastyaTR97
NastyaTR97

βœ…
andriypaska
andriypaska

βœ…
dendistar
dendistar

βœ…
kartaviy223
kartaviy223

βœ…
BluePEz
BluePEz

βœ…
Ihorika2
Ihorika2

βœ…
taraspaska
taraspaska

βœ…
Ragnaros12q
Ragnaros12q

βœ…
StasFreeman
StasFreeman

βœ…
McTrick
McTrick

βœ…
Dimaleron
Dimaleron

βœ…
Boruto11dw
Boruto11dw

βœ…
NOne790
NOne790

βœ…
Golldirr
Golldirr

βœ…
dmytriievp
dmytriievp

βœ…
InfernoCyber55
InfernoCyber55

βœ…
dexxeed
dexxeed

βœ…
kumarman1
kumarman1

βœ…
nika040
nika040

βœ…
Collins44444444444444
Collins44444444444444

βœ…
aavegotch
aavegotch

βœ…
ssvitlyk
Sergiy Svitlyk

βœ…
Mariia077
Mariia077

βœ…
svitlykihor
svitlykihor

βœ…
dmytrohayov
Dmytro Haiov

βœ…
Annnnnnnnnnna
Annnnnnnnnnna

βœ…
turchmanovich101
turchmanovich101

βœ…
Zasmin12ve
Zasmin12ve

βœ…
timfaden
timfaden

βœ…
MerlinKlasnuy
MerlinKlasnuy

βœ…
erikprimerov
erikprimerov

βœ…
Andreewko
Andreewko

βœ…
dxungngh
Daniel Nguyen

βœ…
igorstrong
igorstrong

βœ…
kramarmakarena
Kramar Maxim

βœ…
boichka
Marina Boyko

βœ…
YaakovHuang
YaakovHuang

βœ…
viktoria3715
viktoria3715

βœ…
Hello-World99bit
Hello-World99bit

βœ…
Alan-Zarevskij
Alan-Zarevskij

βœ…
Huliko
Huliko

βœ…
tommy1qwerty
tommy1qwerty

βœ…
sueinz
sueinz

βœ…
Julia-path
Julia-path

βœ…
web3tyan
Diana Shershun

βœ…
mcnk020
mcnk020

βœ…
Edgar0515
Edgar0515

βœ…
Ju1issa
Ju1issa

βœ…
MGavrilo
MGavrilo

βœ…
YujiROO1
YujiROO1

βœ…
yuriyMiller
yuriyMiller

βœ…
tetianapvlnk
Tetiana Pavlenko

βœ…
MGavrilo
MGavrilo

βœ…
vizimnokh
vizimnokh

βœ…
oleksvit
Oleksii Svitlyk

βœ…
t3s1
t3s1

βœ…
BloodBand
BloodBand

βœ…
thereisnspoon
thereisnspoon

βœ…
InfernoCyber55
InfernoCyber55

βœ…
Pikkorio1
Pikkorio1

βœ…
quertc
quertc

βœ…
Yuriihrk
Yuriihrk

βœ…
stsefa
stsefa

βœ…
alanharper
Alan Harper

βœ…
imanbtc
imanbtc

βœ…
Oleksandr7744
Oleksandr7744

βœ…
MarikJudo
MarikJudo

βœ…
Piermanenta
Piermanenta

βœ…
Karoliniio
Karoliniio

βœ…
aixen1009
Olga Svitlyk

βœ…
khanaya9845
khanaya9845

βœ…
OlgaBurd
OlgaBurd

βœ…
YaakovHunag920515
YaakovHunag920515

βœ…
Songoku1691
Songoku1691

βœ…
Timssse
Timssse

βœ…
LLoyD1337
LLoyD1337

βœ…
VeranOAS
VeranOAS

βœ…
kirileshta
kirileshta

βœ…
dimapr1
dimapr1

βœ…
senol10
senol10

βœ…
hoangsoncomputer
hoangsoncomputer

βœ…
Timssse
Timssse

βœ…
Erskine2022
Erskine2022

βœ…
HoratioElise
HoratioElise

βœ…
0xKateKasper
0xKateKasper

βœ…
Dekigrupovuha
Dekigrupovuha

βœ…
ariaSiren
ariaSiren

βœ…
musicplayli
musicplayli

βœ…
cryptotuts
cryptotuts

βœ…
grojap
grojap

βœ…
Chinothebuilder
Chinothebuilder

βœ…
Dorafanboy
Dorafanboy

βœ…
lockck
lockck

βœ…
RoyalHelena
RoyalHelena

βœ…
0xHeathcliff
0xHeathcliff

βœ…
Elvira0728
Elvira0728

βœ…
NerissaHal
NerissaHal

βœ…
beoloqer
beoloqer

βœ…
goshina2015
goshina2015

βœ…
Khvesyk
Khvesyk

βœ…
LuchikYu
LuchikYu

βœ…
alekseevaani22
alekseevaani22

βœ…
sasaglim
sasaglim

βœ…
ChinW
ChinW

βœ…
abasinv577
abasinv577

βœ…
JeTr1x
JeTr1x

βœ…
grejio
grejio

βœ…
mehgoq
mehgoq

βœ…
SerdhRo
SerdhRo

βœ…
poizu
poizu

βœ…
petrzhukovam
petrzhukovam

βœ…
BeniukBohdan
BeniukBohdan

βœ…
romasamiilenko
romasamiilenko

βœ…
Yserdych
Yserdych

βœ…
Andriasniy
Andriasniy

βœ…
ishaaqziyan
ishaaqziyan

βœ…
yutkach
yutkach

βœ…
Mernajop
Mernajop

βœ…
GudanovaAngelina
GudanovaAngelina

βœ…
Ruguped
Ruguped

βœ…
jackhopper925
jackhopper925

βœ…
sadnessdog123
sadnessdog123

βœ…
ivanuykolegmy
ivanuykolegmy

βœ…
olefirenkoannaa
olefirenkoannaa

βœ…
KislitsinSergey
KislitsinSergey

βœ…
RuslanKhvan
RuslanKhvan

βœ…
rozhnovskiyigor
rozhnovskiyigor

βœ…
mihalchukdenis
mihalchukdenis

βœ…
StarkovVlad
StarkovVlad

βœ…
ErikTruman
ErikTruman

βœ…
yeeeeeeeeehor
yeeeeeeeeehor

βœ…
coco94542
coco94542

βœ…
smetaninalena
smetaninalena

βœ…
LoyalLea
LoyalLea

βœ…
mihalchukdenis
mihalchukdenis

βœ…
jessandrich
jessandrich

βœ…
TanTanyaYa
TanTanyaYa

βœ…
changnum05
changnum05

βœ…
nastyQueen
nastyQueen

βœ…
lunaryear123
lunaryear123

βœ…
aiootv
aiootv

βœ…
Lalabnb
Lalabnb

βœ…
SunSeva
SunSeva

βœ…
ElleryRiley
ElleryRiley

βœ…
sheridan2020
sheridan2020

βœ…
mgpwnz
mgpwnz

βœ…
Podima2
Podima2

βœ…
DomWyatt
DomWyatt

βœ…
stan-dot
stan-dot

βœ…
podpolkovnik123
podpolkovnik123

βœ…
Dmitriy65
Dmitriy65

βœ…
sheridan2020
sheridan2020

βœ…
Dominik77Aleo
Dominik77Aleo

βœ…
luo-simon
luo-simon

βœ…
WargerCoderApt
WargerCoderApt

βœ…
jan-o-e
jan-o-e

βœ…
SimonSallstrom
SimonSallstrom

βœ…
yashgo0018
yashgo0018

βœ…
jessicapointing
jessicapointing

βœ…
zklim
zklim

βœ…
EfrainHattie
EfrainHattie

βœ…
jacobella
jacobella

βœ…
brandonseverin
brandonseverin

βœ…
14viktor14
14viktor14

βœ…
AntonYashcheko
AntonYashcheko

βœ…
elenavicario12
elenavicario12

βœ…
tbretschneider
tbretschneider

βœ…
scmata
scmata

βœ…
perlash73
perlash73

βœ…
velev
velev

βœ…
some-robot-guy
some-robot-guy

βœ…
bvs321
bvs321

βœ…
3tomcha
3tomcha

βœ…
StephenPan
StephenPan

βœ…
rolloorme
rolloorme

βœ…
tommyet
tommyet

βœ…
Hun-Chi33
Hun-Chi33

βœ…
Cheliooosss
Cheliooosss

βœ…
TSetsenkoU
TSetsenkoU

βœ…
TropicalDog17
TropicalDog17

βœ…
HartleyGilda
HartleyGilda

βœ…
kelsey2821
kelsey2821

βœ…
diane8026
diane8026

βœ…
MavisPrunella
MavisPrunella

βœ…
Margaret-Hamilton-AR
Margaret-Hamilton-AR

βœ…
ollstar41
ollstar41

βœ…
JustAnotherDevv
JustAnotherDevv

βœ…
abiyeamachree
abiyeamachree

βœ…
CaptainAhab0x
CaptainAhab0x

βœ…
dradaku
dradaku

βœ…
carlosaccp
carlosaccp

βœ…
anitatrista
anitatrista

βœ…
anonyma
anonyma

βœ…
JohnT2222
JohnT2222

βœ…
EmersonLois
EmersonLois

βœ…
Anneki1
Anneki1

βœ…
GillianWolf
GillianWolf

βœ…
davaks2
davaks2

βœ…
chidz21
chidz21

βœ…
l1irosh
l1irosh

βœ…
jaklin55noso
jaklin55noso

βœ…
jess98NFT
jess98NFT

βœ…
alexisleger-42
alexisleger-42

βœ…
DrucillaLucas
DrucillaLucas

βœ…
ThaliaElsie
ThaliaElsie

βœ…
0xK3K
0xK3K

βœ…
daniel023x
daniel023x

βœ…
ellen2martin
ellen2martin

βœ…
Fanat1ck1
Fanat1ck1

βœ…
GoldenFirst5
GoldenFirst5

βœ…
Flyingtothemoon123
Flyingtothemoon123

βœ…
davinlane
davinlane

βœ…
arianarhea
arianarhea

βœ…
zambrose
zambrose

βœ…
Jarekkkkk
Jarekkkkk

βœ…
akirawuc
akirawuc

βœ…
tralkan
tralkan

βœ…
abcd5251
abcd5251

βœ…
andy78644
andy78644

βœ…
ineedmoti
ineedmoti

βœ…
christam96
christam96

βœ…
cindlin
cindlin

βœ…
atul2501
atul2501

βœ…
effiehattie
effiehattie

βœ…
chaoticsoooul
chaoticsoooul

βœ…
nancy42071
nancy42071

βœ…
albertwong08
albertwong08

βœ…
garrickmaxwell
garrickmaxwell

βœ…
Bipin102
Bipin102

βœ…
Qgoni
Qgoni

βœ…
nonkung51
nonkung51

βœ…
AZLPY3117G
AZLPY3117G

βœ…
Hesus1love
Hesus1love

βœ…
PhilbertHu
PhilbertHu

βœ…
elliottstefan
elliottstefan

βœ…
yadavmunny06
yadavmunny06

βœ…
fentonrobin
fentonrobin

βœ…
FireGuyYehorPotiekhin
FireGuyYehorPotiekhin

βœ…
sapphire712
sapphire712

βœ…
spawnpeeker
spawnpeeker

βœ…
fizzixesp
fizzixesp

βœ…
lydiaignatova
lydiaignatova

βœ…
Suraj-1407
Suraj-1407

βœ…
jsreddy3
jsreddy3

βœ…
chrerokiy01
chrerokiy01

βœ…
zelenenola
zelenenola

βœ…
HenryLeslie
HenryLeslie

βœ…
vancemichelle
vancemichelle

βœ…
ua-lera
ua-lera

βœ…
MJV11
MJV11

βœ…
juicc3
juicc3

βœ…
DyxaDevelop
DyxaDevelop

πŸ–‹
MrSinisterF
MrSinisterF

βœ…
es3tenz
es3tenz

βœ…
thrashcomplet
thrashcomplet

βœ…
agladkyi
agladkyi

βœ…
ShiftyBlock
ShiftyBlock

βœ…
AdityaAA2004
AdityaAA2004

βœ…
zainashaik
zainashaik

βœ…
KoshliakOleksandr
KoshliakOleksandr

βœ…
Pidogryz
Pidogryz

βœ…
OleksandrSlipchenko
OleksandrSlipchenko

βœ…
MykhailoReztsov
MykhailoReztsov

βœ…
kirkelmer
kirkelmer

βœ…
philbertotis
philbertotis

βœ…
isaiahelvis0x
isaiahelvis0x

βœ…
WenQi7721
WenQi7721

βœ…
CharlesMing02
CharlesMing02

βœ…
AliceYeh12
AliceYeh12

βœ…
patilmayank
patilmayank

βœ…
kilikaloko214
kilikaloko214

βœ…
AlexZhao6666
AlexZhao6666

πŸ–‹
chenxudongok
chenxudongok

βœ…
Add your contributions

This project follows the all-contributors specification. Contributions of any kind welcome!

πŸ›‘οΈ License

License: GPL v3

πŸ”Ό Back to top

About

🦁 The Leo Programming Language. A Programming Language for Formally Verified, Zero-Knowledge Applications

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 99.1%
  • Shell 0.9%