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 version 18.
Start your codespace from the codespace dropdown.
Get the sandbox, aztec-cli and other tooling with this command:
bash -i <(curl -s install.aztec.network)
Modify the toolkit version to match the version (x.x.x
) specified in Nargo.toml with:
aztec-up x.x.x
or update to the latest version with:
aztec-up
Start the sandbox with:
aztec start --sandbox
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
file in the ./src/test
directory, as well as the Aztec Testing eXecution Environment (TXE) tests defined in first.nr
(and imported at the top of the contract file with mod test;
).
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