Aleo Testnet Beta Prover 节点运行教程

Aleo Testnet Beta Prover 节点运行教程

证明者在 Aleo 网络中扮演关键角色,他们通过解决 coinbase 谜题并生成 zkProofs 来获得奖励。

本教程适用于在 7 月 1 日至 15 日进行 Testnet Beta 的测试激励活动,但是该激励活动到目前已经截止,但是这个教程和后面主网的挖矿教程类似,不会有太大变化,可以作为后期主网证明者节点部署的参考。

snarkOS 是 zk 应用程序的去中心化操作系统。它构成了 Aleo 网络的基础,验证交易并以可公开验证的方式存储应用程序的加密状态。

构建 snarkOS 的指南:

要求:

  • 操作系统:仅 64 位架构,更新到最新版本以确保安全

  • CPU:32 核(证明者和验证者首选 64 核)

  • 内存:客户端 32GB,验证者 64GB(首选 128GB)

  • 存储:客户端 300GB,验证者 2TB(首选 4TB)

  • 网络:理论上越快越好

  • GPU:支持 CUDA(证明者可选)

安装步骤:

确保已安装 Rust v1.79+。安装说明可以在 这里 找到。

克隆 GitHub 仓库:

git clone --branch mainnet --single-branch https://github.com/AleoNet/snarkOS.git

进入 snarkOS 目录:

cd snarkOS
git checkout tags/testnet-beta

[对于 Ubuntu 用户] 运行帮助脚本:

./build_ubuntu.sh

安装 snarkOS:

cargo install --locked --path .

确保路由器和操作系统防火墙上打开端口 4130/tcp 和 3030/tcp。

运行 Aleo 节点:

运行 Aleo 客户端:

按照安装说明进行操作。

启动客户端节点:

./run-client.sh

运行 Aleo 证明者:

按照安装说明进行操作。

生成 Aleo 账户地址:

snarkos account new

保存私钥、查看密钥和地址。

启动证明节点:

./run-prover.sh

在提示时输入您的 Aleo 私钥。

命令行界面:

要使用自定义设置运行节点,请参考 snarkOS CLI 中可用的选项和标志。

使用 snarkos --help 查看完整的 CLI 标志和选项列表:

snarkOS
The Aleo Team <hello@aleo.org>

USAGE:
    snarkos [OPTIONS] <SUBCOMMAND>

OPTIONS:
    -h, --help                     打印帮助信息
    -v, --verbosity <VERBOSITY>    指定详细程度 [选项: 0, 1, 2, 3] [默认: 2]

SUBCOMMANDS:
    account    管理 Aleo 账户的命令
    clean      清理 snarkOS 节点存储
    help       打印此消息或给定子命令的帮助信息
    start      启动 snarkOS 节点
    update     更新 snarkOS

以下是 snarkos start 命令的选项:

USAGE:
    snarkos start [OPTIONS]

OPTIONS:
        --network <NETWORK_ID>                  指定此节点的网络 ID [默认: 3]
        
        --validator                             指定此节点为验证者
        --prover                                指定此节点为证明者
        --client                                指定此节点为客户端
        
        --private-key <PRIVATE_KEY>             指定节点账户的私钥
        --private-key-file <PRIVATE_KEY_FILE>   指定包含节点账户私钥的文件路径
        
        --node <IP:PORT>                        指定节点服务器的 IP 地址和端口 [默认: 0.0.0.0:4130]
        --connect <IP:PORT>                     指定要连接的对等节点的 IP 地址和端口
 
        --rest <REST>                           指定 REST 服务器的 IP 地址和端口 [默认: 0.0.0.0:3030]
        --norest                                如果设置此标志,节点将不会初始化 REST 服务器
        
        --nodisplay                             如果设置此标志,节点将不会渲染显示
        --verbosity <VERBOSITY_LEVEL>           指定节点的详细程度 [选项: 0, 1, 2, 3] [默认: 2]
        --logfile <PATH>                        指定日志存储的文件路径 [默认: /tmp/snarkos.log]
        
        --dev <NODE_ID>                         启用开发模式,指定此节点的唯一 ID

开发指南:

快速开始。 在第一个终端中,运行以下命令启动第一个验证者:

cargo run --release -- start --nodisplay --dev 0 --validator

在第二个终端中,运行以下命令启动第二个验证者:

cargo run --release -- start --nodisplay --dev 1 --validator

在第三个终端中,运行以下命令启动第三个验证者:

cargo run --release -- start --nodisplay --dev 2 --validator

在第四个终端中,运行以下命令启动第四个验证者:

cargo run --release -- start --nodisplay --dev 3 --validator

从这里开始,可以使用此过程进一步启动证明者和客户端。

操作:

从 0 开始初始化节点,并为每个新节点递增 1 是很重要的。 以下是初始化节点的选项列表(将 替换为从 0 开始的数字): cargo run --release -- start --nodisplay --dev <NODE_ID> --validator cargo run --release -- start --nodisplay --dev <NODE_ID> --prover cargo run --release -- start --nodisplay --dev <NODE_ID> --client cargo run --release -- start --nodisplay --dev <NODE_ID> 当未指定节点类型时,节点将默认为 --client。 本地开发网络: 安装 tmux。要使用脚本运行本地开发网络,请先安装 tmux。 启动本地开发网络。要启动本地开发网络,请运行: ./devnet.sh 按照终端中的说明启动开发网络。 查看本地开发网络。切换节点(前进)。要切换到本地开发网络中的下一个节点,请运行: Ctrl+b n 切换节点(向后)。要切换到本地开发网络中的上一个节点,请运行: Ctrl+b p 选择节点(选择树)。要在本地开发网络中选择一个节点,请运行: Ctrl+b w 手动选择节点。要在本地开发网络中手动选择节点,请运行: Ctrl+b :select-window -t {NODE_ID} 停止本地开发网络。要停止本地开发网络,请运行: Ctrl+b :kill-session 然后,按 Enter。 清理。要清理节点存储,请运行: cargo run --release -- clean --dev <NODE_ID> 本指南涵盖了安装和使用 snarkOS 以参与 Aleo 测试网 Beta 证明者激励计划的基本步骤。按照提供的详细说明,您可以设置并运行 Aleo 节点,无论是作为客户端还是证明者,并为验证 coinbase 奖励机制做出贡献。 注意:以上的方式是作为 Solo 模式参与的证明者,从目前的测试网运行结果来看,参与的挖矿难度特别高,如果不是持有大量机器,可以考虑加入矿池确保能够获得奖励。 Aleo 官方链接: Aleo Twitter Aleo Discord Aleo Website Aleo Github