Aztec Sequencer

Complete end-to-end guide for new and existing Ethereum node operators

Hardware Requirements (Testnet)

  • CPU: 8 cores

  • RAM: 16GB

  • SSD: 1TB

Proposed hardware requirements for Mainnet
Component
ETH Sepolia
Aztec sequencer
Total

CPU

8 cores

4 cores

12 cores

RAM

16GB

16GB

32GB

Disk

1TB

1TB

2TB

Networking

-

-

25Mbps up/down

Guide to procure & assemble your hardware (open in new tab).

Install dependencies

General updates, curl, git, docker.

sudo apt update -y && sudo apt upgrade -y
sudo apt install git curl -y
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh

Add your current user to the docker group, then restart your device to apply the change.

sudo usermod -aG docker $USER
sudo reboot 0

Prepare ETH Sepolia Node

Download a copy of Eth Docker and name it sepolia-eth-docker to avoid conflicting with any existing mainnet versions.

Install Eth Docker if you have not done so previously.

Call this shortcut sepethd and enable running it from anywhere in your terminal.

Configure Eth Docker.

Main options:

  • Sepolia Testnet

  • Ethereum RPC node

Other options:
  • Any consensus & execution client combination

  • Do you want to expire pre-merge history?: No

  • Checkpoint sync provider: Leave as default

  • Use MEV Boost: No

  • Use Grafana dashboards: Yes

  • Fallback fee recipient address: Use your own wallet address here

Expose RPC and REST endpoints of your Execution and Consensus clients.

  • Append :el-shared.yml:cl-shared.yml in the COMPOSE_FILE line.

Additional edits for those who are already running a Mainnet or Hoodi Ethereum node on the same machine
  • Press CTRL+W and search for EL_P2P_PORT. Then, replace the value with 30305

  • Press CTRL+W and search for CL_P2P_PORT. Then, replace the value with 9001

  • Press CTRL+W and search for EL_RPC_PORT. Then, replace the value with 8547

  • Press CTRL+W and search for EL_WS_PORT. Then, replace the value with 8548

  • Press CTRL+W and search for CL_REST_PORT. Then, replace the value with 5053

  • Press CTRL+W and search for GRAFANA_PORT. Then, replace the value with 3001

  • Press CTRL+W and search for PROMETHEUS_PORT. Then, replace the value with 9091

Scroll and search manually if CTRL+W does not work for you. This avoid port conflicts with your existing setup.

CTRL+O, ENTER, CTRL+X to save and exit.

Start Eth Docker.

Monitor logs

Execution client. CTRL+C to exit monitoring view.

Consensus client. CTRL+C to exit monitoring view.

Install Aztec sequencer service

Download installer script.

Enable running aztec from anywhere in your terminal.

Install the latest testnet version of aztec.

Prepare your Aztec paramaters

Open up a notepad file to paste the following information.

1) Get the public IP address of your device

2) Wallet #1 public address to receive block rewards: Copy from your wallet interface.

3) Wallet #2 public address to register as an Aztec validator: Copy from your wallet interface.

4) Wallet #2 private key to use with Aztec validator: On Metamask, select a hot wallet address >> click on the "three lines" menu >> Account details >> Details >> Show private key

Get Sepolia Testnet ETH

Get at least 0.01 Sepolia ETH sent to Wallet #2 from the following faucets.

1) Google Faucet: https://cloud.google.com/application/web3/faucet/ethereum/sepolia

2) PK910 POW Faucet: https://sepolia-faucet.pk910.de/

Set the environment variables

Create a new aztec folder and an environment variables file.

Copy and paste the following content in the file, then edit the variables tagged with Edit:

CTRL+O, ENTER, CTRL+X to save and exit.

Wait for ETH Sepolia Execution Client to fully sync

Takes ~6 hours to sync. Check with this command.

Outputs

Synced:

{"jsonrpc":"2.0","result":false,"id":1}

Still syncing:

{"jsonrpc":"2.0","result":{"startingBlock":"0x0","currentBlock":"0x868853","highestBlock":"0x868853"},"id":1}

Start Aztec Sequencer

Open port 5052, 8545, 40400 on your device.

Create docker compose file.

Paste the following contents.

CTRL+O, ENTER, CTRL+X to save and exit.

Start command.

Monitor for errors. CTRL+C to exit monitoring view.

Example outputs

Working:

[14:14:45.496] DEBUG: sequencer Sequencer sync check succeeded {"worldState":{"number":3267,"hash":"0x16cefa4a7fbdf0ecc1e5c93c45f402f89dd3b2f41c4714e780c17bd39e2d86aa"},"l2BlockSource":{"number":3267,"hash":"0x16cefa4a7fbdf0ecc1e5c93c45f402f89dd3b2f41c4714e780c17bd39e2d86aa"},"p2p":{"number":3267,"hash":"0x16cefa4a7fbdf0ecc1e5c93c45f402f89dd3b2f41c4714e780c17bd39e2d86aa"},"l1ToL2MessageSource":{"number":3267,"hash":"0x16cefa4a7fbdf0ecc1e5c93c45f402f89dd3b2f41c4714e780c17bd39e2d86aa"}}

In this case, 3267 is the latest block number of your Aztec validator.

Not working:

WIP

Check Aztec node sync status

Credits: ceberus-node

Press Enter when prompted.

Fully synced output

Check for config errors

Install the gawk package.

Run this checker script.

Credits: DeepPatel2412

Expected output:

Register your Aztec Validator (Sequencer)

Complete ZK-KYC

  • Download zkPassport on mobile and register your zkID

  • Go to https://testnet.aztec.network/add-validator and input your Passport's issuing country, issue date, and expiry date

  • Connect the wallet you used as your Aztec validator earlier (Wallet #2)

  • Verify proof of humanity by scanning the QR code with the zkPassport app mobile app

  • Register your validator and sign the transaction

  • Input your discord handle to claim the Explorer role.

  • Hit Submit. View your FIFO validator queue by searching for your address: https://dashtec.xyz/queue

Port Forwarding

Forward port 40400 on your home/office router to your node. Refer to the page below for Port Forwarding steps.

Advanced networking

Updating your Aztec sequencer

Last updated