# Aztec Sequencer- Public Testnet **Published by:** [GLCstaked](https://paragraph.com/@glcstaked/) **Published on:** 2025-05-27 **URL:** https://paragraph.com/@glcstaked/aztec-sequencer-public-testnet ## Content This is a full guide to setup an Aztec Sequencer on Public Testnet, using Docker Compose and your own Sepolia Ethereum node (same device)Aztec Network- A privacy first Layer 2 on EthereumAztec is a zk-rollup allowing developers to build decentralised applications that preserve user privacy without compromising security or decentralisation. Aztec team co-developed Plonk, a highly efficient and universal zk-SNARK proving system that has since become foundational across the ZK ecosystem. Plonk’s design drastically reduces proof size and verification time, making it one of the first ZK systems viable for real-world applications on Ethereum. Unlike most Layer 2s today, where sequencer’s are centralised (often a single entity), Aztec is committed to launching with a fully decentralized, permissionless node operator set. This means solo stakers and independent operators can meaningfully participate in the network from day one—validating blocks, publishing encrypted state updates, and helping secure the rollup.Aztec Sequencer NodePublic Testnet Live from 2025-05-01Welcome | Privacy-first zkRollup | Aztec DocumentationAztec introduces a privacy-centric zkRollup solution for Ethereum, enhancing confidentiality and scalability within the Ethereum ecosystem.https://docs.aztec.networkMore information from Aztec official docs above, this guide is designed for Solo stakers with their own nodes and using Docker compose for easy deployment.RequirementsEthereum Full Node - Sepolia Network: Reported Working clients (so far) are Geth + Nimbus, Geth + Lodestar Hardware Requirements: Aztec Only + Eth NodeCPU: 8 Cores (Aztec) + 4 Cores (Eth)RAM: 16 GB + 16 GB (Eth)Storage: 1TB + 1TB (Eth Sepolia) These are min requirements for Aztec Node for testnet, network connection of at least 25 Mbps up/down.ETH Address: Recommend to create a fresh new Ethereum address (EOA) for this testnet, you need the “Private Key string” and “0x address”. Can easily create with Metamask and export the private key to get the correct format (not Seed words). Ports: Open Aztec P2P port 40400 tcp/udp on firewall and Port Forward on your router for discovery.1. Install DependenciesInstall Dependenciessudo apt update sudo apt install git curl -y Install Docker & Docker compose plugincurl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh Remove the install script and add $USER to docker group, to allow use without sudosudo rm -r get-docker.sh sudo usermod -aG docker $USER Restart the device to take effect.2. Setup Ethereum Node - SepoliaIgnore this Step if you already have your own full node, this guide is setup to run the node on the same device and allow docker to communicate with it. Optional: (but not recommended) to use a public RPC, however the RPC requirements are high and can be very costly. Edit the appropriate variables with your endpoint API. Easy Way- Eth Docker Eth Docker is a great deployment tool to easily spin up Ethereum Nodes (especially for Testing) Download eth dockercd ~ && git clone https://github.com/eth-educators/eth-docker.git && cd eth-docker Configure./ethd config For this deployment we only need the execution and consensus node, no validator is required, minimum configuration select: Sepolia Network > Ethereum RPC node > Start Eth Node./ethd up -d Expose Ports You must open 8545 and 5052 internally, if using eth-docker you can open in the .yml files by editing like so; Geth: geth.ymlNimbus: nimbus-cl-only.ymlAllow to Sync: with a fast NVMe SSD Storage, Sepolia Testnet data can sync overnight. To check sync: this will return false when fully synced, or true while still syncingcurl -X POST -H "Content-type: application/json" --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' http://localhost:8545 3. Setup Aztec Working FolderCreate Working folder for Aztecmkdir -p aztec/data Set permissionschmod 700 aztec/data Create Environment filecd aztec nano .env Copy to Environment file: fill in the parts in < >DATA_DIRECTORY=./data COINBASE=< ADDRESS HERE > LOG_LEVEL=debug YOUR_RPC_ENDPOINT="http://localhost:8545" YOUR_CONSENSUS_ENDPOINT="http:localhost:5052" YOUR_VALIDATOR_PRIVATE_KEY=< PRIVATE KEY STRING > YOUR_IP_ADDRESS= < public IP address > Save and close this file (once done), ctrl + o then ctrl + x4. Setup Docker ComposeInside aztec folder create filenano docker-compose.yml Paste the contents belowversion: '3.8' name: aztec-node services: node: image: aztecprotocol/aztec:0.87.2 restart: unless-stopped environment: ETHEREUM_HOSTS: "${YOUR_RPC_ENDPOINT}" L1_CONSENSUS_HOST_URLS: "${YOUR_CONSENSUS_ENDPOINT}" DATA_DIRECTORY: /data VALIDATOR_PRIVATE_KEY: "${YOUR_VALIDATOR_PRIVATE_KEY}" P2P_IP: "${YOUR_IP_ADDRESS}" LOG_LEVEL: "${LOG_LEVEL:-debug}" entrypoint: > sh -c 'node --no-warnings /usr/src/yarn-project/aztec/dest/bin/index.js start --network alpha-testnet start --node --archiver --sequencer' ports: - "40400:40400/tcp" - "40400:40400/udp" - "8080:8080" volumes: - ./data:/data network_mode: "host" Note: Version can change check docker hub & discord announcements to ensure the correct version.5. Run NodeStart Node from working directory aztec like sodocker compose up -d Check logs:docker compose logs -f node Logs example once syncedCheck Node Sync Check the Rollup contract to fetch the latest Blockdocker run --rm --network host \ aztecprotocol/foundry:25f24e677a6a32a62512ad4f561995589ac2c7dc-amd64 \ cast call 0xee6d4e937f0493fb461f28a75cf591f1dba8704e \ "getPendingBlockNumber()(uint256)" \ --rpc-url http://localhost:8545 Check your own node for latest blockdocker logs --tail 2000 aztec-node-node-1 2>&1 \ | grep -Eo 'Cannot propose block [0-9]+' \ | awk '{print $4}' \ | tail -n1 Compare the results, your own should be +1 block ahead of the contract result, this means its the block your sequencer is trying to propose. ## Publication Information - [GLCstaked](https://paragraph.com/@glcstaked/): Publication homepage - [All Posts](https://paragraph.com/@glcstaked/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@glcstaked): Subscribe to updates