The below steps were successfully tested on a new laptop running Windows 11. They should also work for Windows 10. We will be installing Windows Subsystem for Linux (WSL). I personally,

  1. Install WSL: Open Windows PowerShell in Administrator mode and type: wsl --install
  2. Configure Ubuntu: After the install, you will most likely need to reboot Windows. After system reboot, a new terminal with the Ubuntu logo should pop up. Here you will be prompted to configure your ubuntu username and password:
    • Install build essential: sudo apt install build-essential
  3. Install Node.js: If you don’t have node installed yet, use nvm to install the Long Term Support (LTS) release via nvm install --lts. Microsoft has a walkthrough here: Install nvm, node.js, and npm
  4. Install rust, circom, and snakrjs:
  5. curl --proto '=https' --tlsv1.2 -sSf | sh # install rust
    source $HOME/.cargo/env                                        # allow rust to be recognized in current shell 
    git clone                  # clone circom
    cd circom && cargo build --release                             # use the cargo build to compile
    cargo install --path circom                                    # install the circom binary
    npm install -g snarkjs                                         # install snarkjs to generate and validate circom's ZK proofs
  6. Connect WSL to VSCode: Install VS Code if necessary and the Remote WSL extension. According to Microsoft:
  7. [Remote WSL] extension enables you to run WSL, SSH, or a remote container for editing and debugging with the full set of Visual Studio Code features. Quickly swap between different, separate development environments and make updates without worrying about impacting your local machine.
    Get started using VS Code with WSL
  8. Launch VS Code: launch a new instance of VS Code connected to WSL by opening a WSL terminal, navigating to the folder of your choice, and typing code .
  9. Optional: You may optionally install Docker Desktop for Windows. It automatically configures itself to work with WSL2. You may read more about it from Microsoft’s install guide
  10. .
  • Installing WSL
  • Setting Up Your WSL Environment
  • Installing Circom (along with rust and snarkjs)
  • Using Git With WSL