Skip to main content

Getting Started

Building on Aztec

There are two common ways that developers can start building on Aztec:

  1. Build a user-facing application that connects to the Aztec network via the TypeScript SDK.
  2. 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.

tip

Running out of ideas to build? Check our Grants for inspirations!

info

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:

  1. Connect Metamask (or other Ethereum wallet) to the Testnet:
PropertiesNetwork Details
Network nameAztec Testnet
RPC URLhttps://aztec-connect-testnet-eth-host.aztec.network:8545
Chain ID677868
Currency symbolETH
  1. Get Testnet funds:

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.

tip

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

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

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

Get in Touch

Discord

Join Aztec Discord for discussions across channels:

Aztec Core Team Contacts

All questions, comments, suggestions, ideas, etc. welcome.

NameRoleDiscordTelegramTwitterEmail
JoshDeveloper Relationsjoshc#6779@crites@critesjosh_josh@aztecprotocol.com
SavioDeveloper RelationsGloballager#4834@Globallager@globallagersavio@aztecprotocol.com
LasseEngineer - Bridge & Smart ContractLHerskind#8376@HerskindLasselasse@aztecprotocol.com
MaximEngineer - Noirvezzie#7609@maximvezenovmaxim@aztecprotocol.com