README.md 1.3 KB
Newer Older
John Doe's avatar
John Doe committed
1 2 3 4 5 6
# Momiji Testnet v2.0
In the second release of the Momiji testnet, we have made the following upgrades
- Circuits built using Nargo 11.0 and bb.js 0.7.2
- Separate transaction batching and publishing in `TechnicalPreview.sol`
- Recursive proof generation for batched transactions, with final verification done on-chain using `plonk_vk.sol`
- Expansion of withdrawals up to 16 recipient addresses
Greybeard's avatar
Greybeard committed
7

John Doe's avatar
John Doe committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
## Recursive proofs with Noir

This testnet update features recursive proving in Noir, below is a general outline of the steps taken in generating and verifying recursive proofs on chain

- The user creates an inner proof using the compiled transaction circuit in `./circuits/main/`
- This proof is then serialized into field elements and passed as an input to the recursive prover in `./circuits/recursion`
- The outer proof and the aggregation object generated by the recursive circuit are passed to `plonk_vk.sol` for final verification

## Getting Started

1. [Install nargo](https://noir-lang.org/getting_started/nargo_installation#option-1-noirup) version 0.11.0 with `noirup -v 0.11.0`

2. Install dependencies with

```bash
yarn
```

## Testing

The [example test file](./test/index.ts) executes a deposit and withdrawal on-chain in a typescript `node.js` environment.
You can run the tests with:

```sh
yarn bbjs
yarn test
```