# Aleo Testnet Beta Prover 节点运行教程

By [Yaakov](https://paragraph.com/@yaakov) · 2024-07-23

---

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+。安装说明可以在 [这里](https://www.rust-lang.org/learn/get-started) 找到。

克隆 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_](https://twitter.com/aleohq) _Aleo_ [_Discord_](https://discord.gg/aleo) _Aleo_ [_Website_](https://www.aleo.org/) Aleo [Github](https://github.com/ProvableHQ)

---

*Originally published on [Yaakov](https://paragraph.com/@yaakov/aleo-testnet-beta-prover)*
