
3 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
Minimum | Recommended |
---|---|
CPU: 4 Cores | CPU: 8 Cores |
RAM: 6 GB | RAM: 16 GB |
Storage: 100 GB | Storage: 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