leo/examples
Collin Chin e5ae160d1a
Implement new hash and commit functions (#2415)
* refactor hash -> hash_to_field

* refactor commit -> commit_to_field

* implement commit_to_address

* implement hash_to_address

* update hash and commit examples

* implement hash_to_scalar

* update tests

* implement bhp hash to integer variants

* implement bhp pedersen and poseidon integer variants

* Update compiler/passes/src/type_checking/checker.rs

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* Update compiler/passes/src/type_checking/checker.rs

Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>

* fix pedersen hash type checks

---------

Signed-off-by: Collin Chin <16715212+collinc97@users.noreply.github.com>
Co-authored-by: Alessandro Coglio <coglio@kestrel.edu>
2023-06-15 19:55:03 -07:00
..
auction [Update] snarkvm 0.11.0 (#2377) 2023-05-10 21:32:37 -07:00
basic_bank Implement new hash and commit functions (#2415) 2023-06-15 19:55:03 -07:00
battleship [Update] snarkvm 0.11.0 (#2377) 2023-05-10 21:32:37 -07:00
bubblesort Some bug fixes; update some examples 2022-10-05 15:27:54 -07:00
core Implement new hash and commit functions (#2415) 2023-06-15 19:55:03 -07:00
fibonacci Rename console.assert* to assert*. (#2205) 2022-12-06 21:56:48 -08:00
groups implement group::GEN Leo syntax (#2401) 2023-05-31 16:05:56 -07:00
hackers-delight fix typo in program name 2022-10-06 21:30:30 -07:00
helloworld Update example scripts 2023-02-16 09:13:51 -08:00
interest Rename console.assert* to assert*. (#2205) 2022-12-06 21:56:48 -08:00
message More examples 2022-10-06 00:17:51 -07:00
simple_token [Update] snarkvm 0.11.0 (#2377) 2023-05-10 21:32:37 -07:00
tictactoe More fixes to example scripts 2023-02-16 12:51:19 -08:00
token Implement Mapping::get_or_use (#2413) 2023-06-13 12:09:33 -07:00
twoadicity More examples 2022-10-06 00:17:51 -07:00
vote Implement new hash and commit functions (#2415) 2023-06-15 19:55:03 -07:00
README.md Rename examples 2022-09-30 10:37:29 -07:00

Leo Examples

This directory includes the following Leo code examples:

  1. Hello World -> Basic Sum of two u32
  2. Groups -> Basic operations over groups
  3. Core -> Core functions over a field type
  4. Bubblesort -> Sorting algorithms over a tuple
  5. Import point -> Import code from another file
  6. Message -> Initialization of a struct
  7. Token -> Record example

Build Guide

To compile each example, run:

leo build

When you run this command for the first time the snarkvm parameters (universal setup) will be downloaded, these are necessary to run the programs.

To run each program, run:

leo run main

This command will look in the input file inputs/*.in where should find a section [main] and use the variables as inputs to the program.