Getting Started
Building on Aztec
There are two common ways that developers can start building on Aztec:
- Build a user-facing application that connects to the Aztec network via the TypeScript SDK.
- Build an Aztec Connect bridge that connects the Aztec network to Ethereum smart contracts.
We are also working on Noir, a domain specific language that can be used to develop ZK-provable programs. Scroll down for more details.
Running out of ideas to build? Check our Grants for inspirations!
The Aztec core engineering team has a regular release cadence that will occasionally introduce breaking changes. Updates are typically applied to Testnet on Thursdays, which are tested and monitored over the weekend and would be pushed to Mainnet afterwards.
We are working on making this process more transparent. Feel free to get in touch if you have any queries.
Testnet Information
Configuration
Aztec maintains a Testnet environment that mimics Ethereum, enabling more comprehensive testing of projects built on Aztec.
To make use of the Testnet:
- Connect Metamask (or other Ethereum wallet) to the Testnet:
Properties | Network Details |
---|---|
Network name | Aztec Testnet |
RPC URL | https://aztec-connect-testnet-eth-host.aztec.network:8545 |
Chain ID | 677868 |
Currency symbol | ETH |
- Get Testnet funds:
- Use the Testnet faucet
- For larger amounts of Testnet ETH, get in touch
After connecting to the Testnet, you can try out Aztec projects on the Testnet such as zk.money (Testnet), Aztec CLI and the Minimal Frontend that involve account registrations, deposits, transfers, withdrawals and more on the Aztec network.
The testnet doesn't have a block explorer at the moment. A simple way to deploy contracts on the testnet and interact with existing deployed contracts is via Remix. To do this, connect Metamask to the testnet, connect Remix and Metamask and send transactions through the Remix "Deploy and Run Transactions" tab.
For the status and details of the Aztec Testnet infrastructure, check the Testnet Falafel Status API.
Deployed Aztec Connect Bridges
If you are developing with the SDK / on multi-step bridges that involve interaction with other existing bridges, you may come across the need to retrieve details of bridges already deployed on the Testnet (e.g. bridgeAddressId
). There are currently two ways to do so:
Aztec Frontend Boilerplate
After logging in on the Minimal Frontend, you will see a "Log Bridges" button which logs bridge details in the browser console.
Foundry Script
Alternatively, you can read from the bridge data provider contract directly by running a script from the Aztec Connect Bridges repository. Check this section for more details.
Building with the SDK
Setup
To start using the SDK, install it in your project by running:
yarn add @aztec/sdk
And import it into your project:
import { createAztecSdk } from "@aztec/sdk";
For a proper walkthrough of setting up the SDK, check the SDK Setup page.
Example Code
To learn how the SDK works in action, the CLI page provides a detailed breakdown of the Aztec CLI tool powered by the SDK.
If you are building a web interface, you might also find the Frontend Boilerplate useful as a starting point.
By default, Aztec transactions could take up to a few hours to settle on the Testnet like on Mainnet. If you want transactions to settle quickly, be sure to set TxSettlementTime
as INSTANT
.
INSTANT
transactions pay higher fees in Testnet ETH in exchange for settlement within minutes rather than hours.
Aztec SDK Resources
- 🧑💻 Aztec SDK npm
- 🧑💻 Aztec SDK GitHub Repo
- 🎥 ETHBogota Workshop - Aztec CLI / SDK
- ✍️ Getting Started with Aztec CLI / SDK
- 📝 Aztec CLI
- 📝 Aztec Frontend Boilerplate
- 📱 zk.money (Testnet)
- 🔍 Testnet Block Explorer
- 🔍 Testnet Falafel Status API
Building an Aztec Connect Bridge Contract
The Aztec Connect Bridges page covers how to develop an Aztec Connect Bridge in great detail.
The Aztec Connect Bridges repository has the most up to date information and materials for creating a bridge contract.
Bridges Resources
- 🧑💻 Aztec Connect Bridges GitHub Repo
- 🎥 ETHBogota Workshop - Aztec Connect Bridges
- ✍️ Getting Started with Aztec Connect Bridges
- ✍️ Element Bridge Explained
Building in Noir
Noir is a domain specific language for building programs provable with Zero-Knowledge Proofs (ZKP), tapping into the privacy and scaling benefits ZKP technology has to offer.
The Noir page covers how to install and develop in Noir in great detail.
Noir Resources
- 📓 The Noir Book
- 🧑💻 Noir GitHub Repo
- 🎥 ETHBogota Workshop - Noir
- ✍️ Getting Started with Noir
- 📝 Standard Noir Example
- 📝 Mastermind in Noir
- 📝 Semaphore in Noir (Concept Build)
Get in Touch
Discord
Join Aztec Discord for discussions across channels:
#💻│aztec-connect
for SDK & Bridges#🖤│noir
for Noir#🇨🇴│ethbogota
for the ETHBogota Hackathon
Aztec Core Team Contacts
All questions, comments, suggestions, ideas, etc. welcome.
Name | Role | Discord | Telegram | ||
---|---|---|---|---|---|
Josh | Developer Relations | joshc#6779 | @crites | @critesjosh_ | josh@aztecprotocol.com |
Savio | Developer Relations | Globallager#4834 | @Globallager | @globallager | savio@aztecprotocol.com |
Lasse | Engineer - Bridge & Smart Contract | LHerskind#8376 | @HerskindLasse | lasse@aztecprotocol.com | |
Maxim | Engineer - Noir | vezzie#7609 | @maximvezenov | maxim@aztecprotocol.com |