Skip to content

satyambnsal/noirlings

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:
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:
curl https://sh.rustup.rs -sSf | sh -s
  1. Install Noir:
curl -L https://raw.githubusercontent.com/noir-lang/noirup/refs/heads/main/install | bash
noirup
  1. After Installing Rust and Nargo, you are ready to run your exercises. Lets first install the project binary with
cargo install --path .
  1. Now you should have noirlings available as command. You can verify the installation with
noirlings --version

Start Exercises 💻

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
  2. Open the project folder in VSCode

Contributing

Adding New Exercises

  1. Create exercise file in ./exercises/<module_name>/<exercise_name>.nr
  2. Add exercise metadata to info.toml:
[[exercises]]
name = "exercise_name"
path = "exercises/module/exercise_name.nr"
mode = "test"
hint = "Your helpful hint here"
  1. Test your exercise:
noirlings run exercise_name
  1. Run test suite
  2. Submit a PR!

Testing

Run specific tests:

cargo test noir

Run all tests:

cargo test

Questions?

If you need any help while doing the exercises, feel free to ask in the Q&A category of the discussions if your question wasn't asked yet 💡

Noir Resources

Credits

About

An interactive tutorial to get you up and running with Noir

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published