This repo is meant to be a starting point for writing Aztec contracts and tests.
You can find the Easy Private Voting contract in ./src/main.nr
. A simple integration test is in ./src/test/index.test.ts
.
The corresponding tutorial can be found in the Aztec docs here.
Use Node.js version 18.19.0.
Start your codespace from the codespace dropdown.
Get the sandbox, aztec-cli, and other tooling with this command:
bash -i <(curl -s https://install.aztec.network)
Install the correct version of the toolkit with:
aztec-up 0.81.0
Start the sandbox with:
aztec start --sandbox
We need to ignore node version warnings (a temporary fix):
YARN_IGNORE_ENGINES=true yarn install
aztec-nargo compile
or
yarn compile
Generate the contract artifact JSON and TypeScript interface:
yarn codegen
Make sure the sandbox is running before running tests.
aztec start --sandbox
Then test with:
yarn test
Testing will run the TypeScript tests defined in index.test.ts
inside ./src/test
, as well as the Aztec Testing eXecution Environment (TXE) tests defined in first.nr
(imported in the contract file with mod test;
).
Note: The Typescript tests spawn an instance of the sandbox to test against, and close it once once the TS tests are complete.
yarn update
Get the contract code from the monorepo. The script will look at the versions defined in ./Nargo.toml
and fetch that version of the code from the monorepo.
yarn update
You may need to update permissions with:
chmod +x update_contract.sh