Aztec Node Guide

min 99

Aztec Node Guide

Aztec is an Ethereum Layer 2 solution prioritizing privacy as its core feature. The platform uniquely supports smart contracts with both private/public state management and private/public execution capabilities.

For private state management, Aztec employs a UTXO (Unspent Transaction Output) model using data units called "notes". These notes maintain privacy through storage in an append-only UTXO tree, with corresponding nullifiers generated upon note invalidation (deletion). These nullifiers are then recorded in a dedicated nullifier tree.

The public state system mirrors traditional blockchain architectures like Ethereum, functioning as an open ledger. All public transaction data gets stored in a specialized public data tree.

Aztec implements full account abstraction, meaning every account is essentially a smart contract. This design enables flexible transaction authorization schemes, sophisticated nonce management, and customizable fee payment mechanisms.

The network utilizes Noir, a domain-specific language for zero-knowledge proofs, as its primary tool for smart contract development. Noir's versatility allows creating verifiable circuits that can operate both on-chain and off-chain.

Server Requirements

MinimumRecommended
CPU: 4 CoresCPU: 8 Cores
RAM: 6 GBRAM: 16 GB
Storage: 100 GBStorage: 1 TB

There are two types of RPC sepolia. For the first one, you need infura or alchemy, and for the second one, you need dRPC or QuickNode.

Installation

Preparing the server

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git jq lz4 build-essential unzip make gcc ncdu cmake clang pkg-config libssl-dev libzmq3-dev libczmq-dev python3-pip protobuf-compiler dos2unix screen

Install Docker and Docker Compose

sudo apt install -y ca-certificates curl gnupg lsb-release 
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io
sudo usermod -aG docker $USER
newgrp docker

Install Aztec CLI

bash -i <(curl -s https://install.aztec.network)

press Y

source .bash_profile
aztec-up alpha-testnet

Creating a screen

screen -S aztec
aztec start --node --archiver --sequencer --network alpha-testnet --l1-rpc-urls <URL> --l1-consensus-host-urls "<URL2>" --sequencer.validatorPrivateKey <0xYourPrivatKey> --sequencer.coinbase <0xYourAddress> --p2p.p2pIp <IP> --p2p.maxTxPoolSize 1000000000

replace your data

  • <URL> on the Sepolia RPS (from Infury or Alchemy)
  • <URL2> to rps sepolia (with dRPS)
  • <0xYourPrivateKey> replace with wallet private key
  • <0xYourAddress> replace with wallet address
  • <IP> replace with server IP
control+a+d

to minimize the screen

screen -rx aztec

to maximize the screen, if necessary

Getting a role in Discord

  • Join Aztec Discord
  • Go to operators | start-here channel
  • Run command /operator start and your data:

    - the wallet from docker-compose file

    - run this command to check your latest synced block

    curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"node_getL2Tips","params":[],"id":67}' http://localhost:8080 | jq -r ".result.proven.number"

    - run this command to check your proof (Change <YOUR_BLOCK> with the block from previous command)

    curl -s -X POST -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","method":"node_getArchiveSiblingPath","params":["<YOUR_BLOCK>","<YOUR_BLOCK>"],"id":67}' http://localhost:8080/ | jq -r ".result"

Only after receiving the Apprentice role - proceed to validator registration

aztec add-l1-validator \
  --l1-rpc-urls https://eth-sepolia.g.example.com/example/your-key \
  --private-key <your-private-key> \
  --attester <your-validator-address> \
  --proposer-eoa <your-validator-address> \
  --staking-asset-handler 0xF739D03e98e23A7B65940848aBA8921fF3bAc4b2 \
  --l1-chain-id 11155111

 Delete Node

cd .aztec && \
docker-compose down && \
cd && \
rm -rf .aztec && \
docker system prune -a && \
docker volume prune -f && \
docker network prune -f

Privacy Without Compromise

Our patented privacy architecture ensures:

  • Complete transaction confidentiality when needed
  • Verifiable audit trails through nullifier technology
  • Seamless integration with public blockchain requirements
  • Enterprise-grade security without sacrificing performance

Built for Tomorrow's Challenges

With Aztec's account abstraction, every account becomes a smart contract, enabling:

  • Flexible authorization protocols tailored to your compliance needs
  • Intelligent nonce management for operational efficiency
  • Custom fee structures to optimize transaction costs

Aztec Network | Aztec Site