🛠️ Aztec 测试网节点搭建教程(适用于 Linux VPS)

教程参考E哥

https://medium.com/@exploring.eth/aztec-%E5%8E%BB%E4%B8%AD%E5%BF%83%E5%8C%96%E6%8E%92%E5%BA%8F%E5%99%A8%E6%95%99%E7%A8%8B-5db4b4885f8e

🧱 硬件要求

  • CPU:8 核

  • 内存:16GB

  • 存储:100GB 以上的 SSD

  • (实测4+16可以跑)

🛠️ 安装依赖

  1. 安装 Node.js 18.x

    curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh
    bash nodesource_setup.sh
    sudo apt-get install -y nodejs
    
  2. 安装 PM2(进程管理器)

    npm install -g pm2
    
  3. 安装 Docker

    curl -fsSL https://get.docker.com | sudo sh
    

🚀 安装 Aztec 客户端

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

安装过程中会有两个提示,输入 y 确认即可。


⚙️ 配置测试网

  1. 加载环境变量

    source $HOME/.bash_profile
    
  2. 设置测试网

    aztec-up alpha-testnet
    

🔑 设置环境变量

请根据您的实际情况替换以下变量:

  • L1_RPC:您的 Sepolia RPC 端点(可从 Ankr、QuickNode、Alchemy 等提供商获取)

  • BEACON_RPC:Sepolia Beacon RPC(推荐使用 DRPC 的免费服务)

  • VALIDATOR_PRIVATE_KEY:建议新建一个 EVM 地址,并填写其私钥。请妥善备份私钥。

  • COINBASE_ADDRESS:与上述私钥对应的地址

  • P2P_IP:您的公网 IP 地址,可通过以下命令获取:

L1_RPC=你的sepolia rpc,可以从ankr,quicknode,alchemy等rpc提供商获取
BEACON_RPC=drpc的免费sepolia beacon rpc。如果自建或者付费的archive beacon rpc更稳定
VALIDATOR_PRIVATE_KEY=建议新建一个evm地址,这里填写他的私钥。备份好私钥
COINBASE_ADDRESS=刚刚私钥的地址
P2P_IP=$(curl -s -4 https://api.ipify.org)

如果需要长期跑建议自建rpc

自建rpc教程参考下面两个

https://mirror.xyz/pangdong.eth/CorNjUryMqhZuMwFaUZBo_5dhAmIsjjNbJswCOpQmfU

https://mirror.xyz/pangdong.eth/QaJuqLQjoF8nNalGT2TYj0Oz9GRbGsCh3OfDSR3_cWQ


🧩 创建启动脚本

cat << EOF | tee aztec-start.sh
#!/bin/bash

L1_RPC="${L1_RPC}"
BEACON_RPC="${BEACON_RPC}"
VALIDATOR_PRIVATE_KEY="${VALIDATOR_PRIVATE_KEY}"
COINBASE_ADDRESS="${COINBASE_ADDRESS}"
P2P_IP="${P2P_IP}"

aztec start --node --archiver --sequencer \\
  --network alpha-testnet \\
  --l1-rpc-urls \$L1_RPC \\
  --l1-consensus-host-urls \$BEACON_RPC \\
  --sequencer.validatorPrivateKey \$VALIDATOR_PRIVATE_KEY \\
  --sequencer.coinbase \$COINBASE_ADDRESS \\
  --p2p.p2pIp \$P2P_IP \\
  --p2p.maxTxPoolSize 1000000000
EOF

chmod +x aztec-start.sh
pm2 start aztec-start.sh

📄 查看日志

如果看到类似以下的日志,说明您的节点已成功同步到最新区块:

DEBUG: sequencer Cannot propose block 20500

您也可以使用以下命令检查同步状态:

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

如果有输出,说明节点运行成功。


🛠️ 常见问题处理

  • 同步错误:如果遇到同步错误,建议重新同步:

  pm2 stop aztec-start
  rm -r ~/.aztec/alpha-testnet/data/
  pm2 restart aztec-start
  pm2 logs
  • 升级节点:建议关注官方公告,及时更新节点:

  pm2 stop aztec-start
  aztec-up alpha-testnet
  pm2 restart aztec-start

🧙 获取 Discord 角色

  1. 加入 Aztec Discord 社区加入链接

  2. 获取 Apprentice 角色

    • 进入 #operators | start-here 频道

    • 输入 /operator help 获取提示

    • 输入 /operator start 并按照提示填写信息

    • 获取方法

      (1),准备你这个服务器运行时的私钥地址

      (2),在运行节点的服务器输入下面命令获取区块号

    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"
    
            (3)获取同步证明
    
    curl -s -X POST -H 'Content-Type: application/json' \
    -d '{"jsonrpc":"2.0","method":"node_getArchiveSiblingPath","params":["改为上面获取的区块号","改为上面获取的区块号"],"id":67}' \
    http://localhost:8080 | jq -r ".result"
    

/operator start address:填写你的私钥地址 block-number: 你的区块号proof:你的同步证明

  1. 获取 Guardian 角色(需要运行一段时间,等快照公告后进行查询

    • #upgrade-role 频道输入 /checkip,如果符合条件,将自动获得 Guardian 角色。

      /checkip ip:填写你的服务器IP地址 node_eth_address:填写你的私钥地址


🧪 注册验证者(可选)

https://aztecscan.xyz/validators

每天可注册的验证者数量有限,如果遇到以下错误,说明当天的名额已满:

Error: ValidatorQuotaFilledUntil(uint256 _timestamp)

注册命令如下:

aztec add-l1-validator \
  --l1-rpc-urls 你的sepolia rpc \
  --private-key 你的私钥 \
  --attester 你的地址 \
  --proposer-eoa 你的地址 \
  --staking-asset-handler 0xF739D03e98e23A7B65940848aBA8921fF3bAc4b2 \
  --l1-chain-id 11155111