All the packages that make up Aztec.
barretenberg
: The ZK prover backend that provides succinct verifiability for Aztec. Also houses the Aztec VM.l1-contracts
: Solidity code for the Ethereum contracts that process rollupsnoir-projects
: Noir code for Aztec contracts and protocol circuits.yarn-project
: Typescript code for client and backenddocs
: Documentation source for the docs site
- Aztec.nr: A Noir framework for smart contracts on Aztec.
- Aztec: A package for starting up local dev net modules, including a local 'sandbox' devnet, an Ethereum network, deployed rollup contracts and Aztec execution environment.
- Aztec.js: A tool for interacting with the Aztec network. It communicates via the Private Execution Environment (PXE).
- Example contracts: Example contracts for the Aztec network, written in Noir.
- End to end tests: Integration tests written in Typescript--a good reference for how to use the packages for specific tasks.
- Aztec Boxes: Example starter projects.
All issues being worked on are tracked on the Aztec Github Project. For a higher-level roadmap, check the milestones overview section of our website.
Logging goes through the Logger module in Typescript. LOG_LEVEL
controls the default log level, and one can set alternate levels for specific modules, such as debug; warn: module1, module2; error: module3
.
Releases are driven by release-please, which maintains a 'Release PR' containing an updated CHANGELOG.md since the last release. Triggering a new release is simply a case of merging this PR to master. A github workflow will create the tagged release triggering ./bootstrap.sh release to build and deploy the version at that tag.
There are many ways you can participate and help build high quality software. Check out the contribution guide!
We use marker commits and git-subrepo (for a subset of its intended use) to manage a mirror of noir. This tool was chosen because it makes code checkout and development as simple as possible (compared to submodules or subtrees), with the tradeoff of complexity around sync's.
For a broad overview of the CI system take a look at CI.md.
For some deeper information on individual scripts etc (for developing CI itself), take a look at ci3/README.md.