https://github.com/provablehq/workshop
📜 A Starter Guide to Build ZK Applications 📜
https://github.com/provablehq/workshop
aleo tutorial workshop zero-knowledge zksnarks
Last synced: 5 months ago
JSON representation
📜 A Starter Guide to Build ZK Applications 📜
- Host: GitHub
- URL: https://github.com/provablehq/workshop
- Owner: ProvableHQ
- Created: 2022-09-17T13:41:18.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-12-17T21:22:14.000Z (10 months ago)
- Last Synced: 2025-04-07T20:07:36.970Z (6 months ago)
- Topics: aleo, tutorial, workshop, zero-knowledge, zksnarks
- Language: Shell
- Homepage:
- Size: 12.6 MB
- Stars: 337
- Watchers: 12
- Forks: 269
- Open Issues: 28
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
📜 A starter guide to build applications on Aleo 📜
## Table of Contents
- [Build Guide](#build-guide)
- [Prerequisites](#prerequisites)
- [Installation](#installation)
- [IDE Support](#ide-support)
- [VSCode](#vscode-preferred)
- [Sublime Text](#sublime-text)
- [IntelliJ IDEA](#intellij-idea)
- [Application Walkthroughs](#application-walkthroughs)
- [🏛️ Auction](#-auction) ([Source Code](./auction/))
- [🏦 Basic Bank](#-basic-bank) ([Source Code](./basic_bank/))
- [🛳️ Battleship](#-battleship) ([Source Code](./battleship/))
- [⭕ Tic-Tic-Toe](#-tic-tac-toe) ([Source Code](./tictactoe/))
- [🪙 Token](#-token) ([Source Code](./token))
- [🗳️ Vote](#-vote) ([Source Code](./vote/))## Build Guide
The following steps will install Aleo and Leo on your machine. This workshop is compatible on macOS, Linux, and Windows machines.
### Prerequisites
This workshop requires the following prerequisites.
- Install `git` with [bit.ly/start-git](https://bit.ly/start-git)
- Install `Rust`with [bit.ly/start-rust](https://bit.ly/start-rust)### Installation
To install Aleo and Leo, run:
```
./install.sh
```## IDE Support
This workshop requires one of the following IDEs.
- [VSCode](https://bit.ly/start-vscode)
- [Sublime Text](https://bit.ly/start-sublime)
- [IntelliJ IDEA](https://bit.ly/start-intellij)### VSCode (Preferred)
Start by installing `VSCode` with [bit.ly/start-vscode](https://bit.ly/start-vscode).
#### Next, in VSCode, open the **VSCode Marketplace**, type **Leo** into the search bar, and proceed to install the Leo plugin.
### Sublime Text
Installation Steps
Start by installing `Sublime Text` with [bit.ly/start-sublime](https://bit.ly/start-sublime).
#### Next, in Sublime Text, install [Package Control](https://packagecontrol.io):
- On Windows/Linux: `ctrl + shift + p`, type **Install Package Control**, and press **Enter**.
- On macOS: `cmd + shift + p`, type **Install Package Control**, and press **Enter**.#### Next, in Sublime Text, install [LSP](https://packagecontrol.io/packages/LSP):
- On Windows/Linux: `ctrl + shift + p`, select **Package Control: Install Package**, type **LSP**, and press **Enter**.
- On macOS: `cmd + shift + p`, select **Package Control: Install Package**, type **LSP**, and press **Enter**.#### Lastly, in Sublime Text, install [LSP-leo](https://packagecontrol.io/packages/LSP-leo):
- On Windows/Linux: `ctrl + shift + p`, select **Package Control: Install Package**, type **LSP-leo**, and press **Enter**.
- On macOS: `cmd + shift + p`, select **Package Control: Install Package**, type **LSP-leo**, and press **Enter**.### IntelliJ IDEA
Installation Steps
Start by installing `IntelliJ IDEA` with [bit.ly/start-intellij](https://bit.ly/start-intellij).
#### Next, in IntelliJ IDEA, open the **IntelliJ Marketplace** and select `Plugins`:
- On Windows/Linux: `ctrl + ,` and select `Plugins` on the left hand bar
- On macOS: `cmd + ,` and select `Plugins` on the left hand barLastly, type **Leo** into the search bar, and install the official Leo plugin.
## Application Walkthroughs
This workshop walks through the following applications:
- [auction](./auction/) - A first-price sealed-bid auction in Leo
- [basic_bank](./basic_bank/) - A simple-interest yielding bank account in Leo
- [battleship](./battleship/)- A two-player game of Battleship in Leo
- [tictactoe](./tictactoe/) - A standard game of Tic-Tac-Toe in Leo
- [token](./token) - A transparent & shielded custom token in Leo
- [vote](./vote/) - A ballot voting example in Leo### 🏛️ Auction
A first-price sealed-bid auction in Leo.
To see the auction example, run:
```
cd auction && ./run.sh
```### 🏦 Basic Bank
A simple-interest yielding bank account in Leo.
To see the basic bank example, run:
```
cd basic_bank && ./run.sh
```### 🛳️ Battleship
A two-player game of Battleship in Leo.
To see a game of Battleship between two players, run:
```
cd battleship && ./run.sh
```### ⭕ Tic-Tac-Toe
A standard game of Tic-Tac-Toe in Leo.
To see a game of Tic-Tac-Toe between two players, run:
```
cd tictactoe && ./run.sh
```### 🪙 Token
A transparent & shielded custom token in Leo.
To see an example of minting and transfering tokens, run:
```
cd token && ./run.sh
```### 🗳️ Vote
A ballot voting example in Leo.
To see an example of a ballot, run:
```
cd vote && ./run.sh
```