Skip to content

Utilising aztec.nr Kernel Proof recursion to create a form of zk state channels

Notifications You must be signed in to change notification settings

Mach-34/aztec-state-channels

Folders and files

NameName
Last commit message
Last commit date

Latest commit

9e39621 · Mar 27, 2024

History

83 Commits
Mar 27, 2024
Mar 27, 2024
Mar 27, 2024
Mar 27, 2024
Dec 9, 2023
Dec 9, 2023
Mar 25, 2024
Feb 25, 2024
Dec 13, 2023
Mar 26, 2024
Mar 26, 2024
Dec 9, 2023

Repository files navigation

Aztec State Channels

Installation

1. Ensure correct versioning of aztec-nargo CLI:

aztec-nargo -V
// nargo version = 0.23.0
// noirc version = 0.23.0+602f23f4fb698cf6e37071936a2a46593a998d08
// (git version hash: ea6aebcc4e190d9dbadaf1dd0f70950651eed615,, is dirty: false)

You can run VERSION=0.21.0 aztec-up to ensure you have a valid aztec-nargo compiler cli

2. Set up the proper folder structure for the imports as they currently exist

// Once everything is installed, you should have:
PARENT_DIR/
  | - aztec-packages
  | - aztec-state-channels
// such that npm imports in statechannel can access the local aztec-packages build with `file:../aztec-packages/yarn-project/*`

3. Install the fork of aztec-packages that has compatible @aztec/* for statechannel repo and runs a modified PXE through the sandbox that supports the state channel construction

a. clone the repo in your parent dir: git clone https://github.com/mach-34/aztec-packages && cd aztec-packages

b. ensure you are on the right branch: git checkout app_circuit_pxe

c. build the entire aztec-packages stack locally: ./bootstrap.sh

  • This can take over an hour. If you have a compatible version of aztec-packages already built locally, you can skip 99% of build time by only building yarn_project: cd yarn_project && bootstrap.sh
  • You may experience issues building barretenberg. Visit the official aztec-packages/barretenberg README.md for some help with this

4. Install the Aztec State Channels repository in a new terminal window

a. in PARENT_DIR, run git clone https://github.com/mach-34/aztec-state-channels && cd statechannel

b. ensuring file:../aztec-packages/yarn-project/* will work for package.json, run npm i (yarn will not work)

Running Tests

1. Start Services

a. In a new terminal in the aztec-state-channels folder, run a local Ethereum dev node with npm run anvil

b. In a new terminal in the aztec-state-channels folder, run the sandbox (and first PXE) with npm run sandbox

c. In a new terminal in the aztec-state-channels folder, run a second PXE with npm run pxe:secondary

2. Run the aztec-state-channel unit tests

  • To run only the state channel tests, run npm run test:statechannel

  • To run only the contract logic unit tests, run npm run test:logic

  • To run all test suites, run the normal npm run test

Modifications / Methodology

PXE ACIR Simulator Iterations On Folding/ HONK

About

Utilising aztec.nr Kernel Proof recursion to create a form of zk state channels

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published