证明者在 Aleo 网络中扮演关键角色,他们通过解决 coinbase 谜题并生成 zkProofs 来获得奖励。
本教程适用于在 7 月 1 日至 15 日进行 Testnet Beta 的测试激励活动,但是该激励活动到目前已经截止,但是这个教程和后面主网的挖矿教程类似,不会有太大变化,可以作为后期主网证明者节点部署的参考。
snarkOS 是 zk 应用程序的去中心化操作系统。它构成了 Aleo 网络的基础,验证交易并以可公开验证的方式存储应用程序的加密状态。
操作系统:仅 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。
按照安装说明进行操作。
启动客户端节点:
./run-client.sh
按照安装说明进行操作。
生成 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
