This repository contains an application that generates proofs of valid state transition and set membership using Pedersen-hash Merkle trees. This command line interface will allow you to perform test transfers on Sepolia testnet without needing to deposit ETH or testnet tokens, but will require Sepolia ETH for gas.
## Requirements
- Noir is based upon [Rust](https://www.rust-lang.org/tools/install), and we will need to Noir's package manager `nargo` in order to compile our circuits. Further installation instructions for can be found [here](https://noir-lang.org/getting_started/nargo_installation).
- Note: This version of the testnet was built using nargo 0.10.3; this is highly likely to change in future releases as Noir continues to grow.
## Installing Package Dependencies
Start by installing all the packages specified in the `package.json`
```
npm install
```
After installing nargo it should be placed in our path and can be called from inside the folder.
## Running the Command Line Interface
Before running the CLI, paste your Sepolia wallet private key into the `PRIVATE_KEY` variable of `.env`; this will be used to carry out the transactions on chain. You may also change the `PROVIDER` variable to an RPC provider of choice. (Note: The existing Sepolia RPC may time out and show a 503 error. If this occurs, restart the CLI. If you continue to have issues, use a different Sepolia provider.)