https://github.com/satyambnsal/noirlings
An interactive tutorial to get you up and running with Noir
https://github.com/satyambnsal/noirlings
Last synced: about 2 months ago
JSON representation
An interactive tutorial to get you up and running with Noir
- Host: GitHub
- URL: https://github.com/satyambnsal/noirlings
- Owner: satyambnsal
- License: mit
- Created: 2025-02-06T11:26:24.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-04-03T15:58:59.000Z (about 2 months ago)
- Last Synced: 2025-04-03T16:42:19.368Z (about 2 months ago)
- Language: Rust
- Homepage:
- Size: 67.4 KB
- Stars: 11
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-noir - Noirlings - A hands-on, interactive way to learn Noir programming language through practical exercises. (Learning / Interactive Tutorials)
README
# NOIRLINGS
### An interactive tutorial to get you up and running with Noir
---
A hands-on, interactive way to learn Noir programming language through practical exercises. Perfect for both beginners and developers looking to sharpen their Noir skills.
## Setup and Run
1. Clone and enter the repository:
```sh
git clone https://github.com/satyambnsal/noirlings.git
cd noirlings
```Make sure you have both Rust and Noir installed. If you don't have it installed:
Run
```
./install.sh
```**If you see any error in terminal, install them separately with following commands**
1. Install Rust and Cargo:```sh
curl https://sh.rustup.rs -sSf | sh -s
```
3. Install Noir:```sh
curl -L https://raw.githubusercontent.com/noir-lang/noirup/refs/heads/main/install | bash
noirup
```4. After Installing **Rust** and **Nargo**, you are ready to run your exercises. Lets first install the project binary with
```
cargo install --path .
```5. Now you should have noirlings available as command. You can verify the installation with
```
noirlings --version
```## Start Exercises 💻
```sh
noirlings watch
```## How Noirlings Works
Noirlings is designed to help you learn Noir through hands-on exercises:
1. Each exercise is a Noir file containing a problem to solve
2. Run `noirlings watch` to start - you'll see an error message for the first exercise
3. Open the exercise file in your editor and start solving
4. Type `hint` in watch mode for help, or run `noirlings hint exercise_name`
5. Remove the `// I AM NOT DONE` comment when you've solved an exercise
6. Watch mode automatically verifies your solution and moves to the next exercise## VSCode Support
For syntax highlighting and language support:
1. Install the [Noir VSCode Extension](https://marketplace.visualstudio.com/items?itemName=noir-lang.noir-programming-language)
2. Open the project folder in VSCode## Contributing
### Adding New Exercises
1. Create exercise file in `./exercises//.nr`
2. Add exercise metadata to `info.toml`:```toml
[[exercises]]
name = "exercise_name"
path = "exercises/module/exercise_name.nr"
mode = "test"
hint = "Your helpful hint here"
```3. Test your exercise:
```sh
noirlings run exercise_name
```4. Run test suite
5. Submit a PR!### Testing
Run specific tests:
```sh
cargo test noir
```Run all tests:
```sh
cargo test
```## Questions?
If you need any help while doing the exercises, feel free to ask in the [_Q&A_ category of the discussions](https://github.com/satyambnsal/noirlings/discussions/) if your question wasn't asked yet 💡
## Noir Resources
- [Official Noir Documentation](https://noir-lang.org/docs)
- [Noir GitHub Repository](https://github.com/noir-lang/noir)
- [Awesome Noir](https://github.com/noir-lang/awesome-noir)
- [Noir Examples](https://github.com/noir-lang/noir/tree/master/examples)## Credits
- Inspired by [Rustlings](https://github.com/rust-lang/rustlings) and [Starklings](https://github.com/shramee/starklings-cairo1)