Cover photo

手把手教你搭建APTOS AIT3激励测试网验证节点

20220823更新:预期收益

小道消息:场外已经有人以60U一枚的价格收APT,所以抽中的话总价值约为48000U


前序

本文不再赘述什么是APTOS AIT3,请自前往官网查看。

https://aptoslabs.medium.com/welcome-to-aptos-incentivized-testnet-3-9d7ce888205c

开始前的准备

账号类

  • Email

  • Discord账号

软件类

  • Google Chrome浏览器(升级到最新版本)

  • FinalShell (点击下载)如果你还不会使用FinalShell,后续会出教程

云服务器账号(任选其一)

STEP0 注册APTOS账号

进入官网,右上角点击Signin,选择Discord登录并设置用户名。此步骤会需要验证邮箱。

https://aptoslabs.com/

STEP1 绑定Discord

不用多说了吧

STEP2 连接钱包

安装钱包

下载并解压缩钱包插件(Assets中的chrome-extension.zip)

https://github.com/aptos-labs/aptos-core/releases/

打开Google Chrome并在导航栏输入chrome://extensions进入扩展程序标签。进入后打开右上角的开发者模式。

post image

点击加载已解压的扩展程序,进入刚刚解压缩得到的文件夹并点击选择文件夹,插件就安装好了

使用钱包

根据钱包提示,创建钱包密码、生成并记录助记词,然后返回https://aptoslabs.com/it3完成第二步的验证

STEP3 完成问卷

问卷问题翻译:

  • 以下哪项最能代表您?

  • 为什么要参加AIT3?

  • 是什么让您成为合格的节点操作员?

  • 如果您在一家公司工作,请在此处输入他们的网站:

  • 是什么让您对 Aptos 感兴趣?

可以随便填,但最好不要瞎填。

STEP4 节点注册

硬件要求

  • CPU:

    • 8 核心, 16 线程

    • 2.8GHz, 或更高

    • Intel Xeon Skylake 或更高

  • 内存: 32GB RAM

  • 硬盘:不少于300G

  • 带宽:1G

云服务器推荐机型:

  • AWS

    • c5.4xlarge

    • c6i.4xlarge

  • GCP

    • c2-standard-16

  • Azure

    • Standard_B8ms

推荐系统:Ubuntu 20.04

防火墙设置

服务器创建完成后,请按如下要求放行防火墙:

入站放行(下文格式为 类型-协议-端口-源IP)

  • SSH-TCP-22-0.0.0.0/0

  • HTTP-TCP-80-0.0.0.0/0

  • HTTPS-TCP-443-0.0.0.0/0

  • TCP-TCP-6180-0.0.0.0/0

  • TCP-TCP-9101-0.0.0.0/0

出站放行所有流量

节点搭建流程 (Docker)

官方安装文档,英语较好的可直接阅读原文

https://aptos.dev/nodes/validator-node/run-validator-node-using-docker

  1. 安装环境(完整复制+粘贴+回车)参考自@核桃壳壳总

    sudo sh -c "apt update && apt install unzip && curl -fsSL get.docker.com -o get-docker.sh && sh get-docker.sh && service docker start && wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-cli-v0.3.1/aptos-cli-0.3.1-Ubuntu-x86_64.zip && unzip aptos-cli-0.3.1-Ubuntu-x86_64.zip && mv aptos /usr/bin/"
    
  2. 配置工作文件夹。一行一行复制粘贴+回车。第二行USERNAME=后面请自己写一个Username,后续步骤会用到。

    注意:后文中$WORKSPACE指代的是目录testnet,$USERNAME指代的是你的节点名

    export WORKSPACE=testnet
    
    export USERNAME=【Your Node Name】
    
    mkdir ~/$WORKSPACE
    
    cd ~/$WORKSPACE
    
  3. 下载配置文件validator.yamldocker-compose.yaml

    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/docker-compose.yaml
    
    wget https://raw.githubusercontent.com/aptos-labs/aptos-core/main/docker/compose/aptos-node/validator.yaml
    
  4. 在您的工作目录中生成密钥对(节点所有者、投票者、操作员密钥、共识密钥和网络密钥)

    aptos genesis generate-keys --output-dir ~/$WORKSPACE/keys
    

    这将在目录下创建 4 个密钥文件~/$WORKSPACE/keys

    • public-keys.yaml

    • private-keys.yaml

    • validator-identity.yaml, 和

    • validator-full-node-identity.yaml

    重要信息

    将您的私钥文件备份到安全的地方。这些关键文件对于您建立节点的所有权很重要。永远不要与任何人共享私钥。

  5. 配置validator信息。将<Validator Node IP / DNS address>:<Port> 替换成你的服务器IP:6180,如58.24.165.212:6180。同时,确保防火墙放行6180端口。

    cd ~/$WORKSPACE
    
    aptos genesis set-validator-configuration \
    --local-repository-dir ~/$WORKSPACE \
    --username $USERNAME \
    --owner-public-identity-file ~/$WORKSPACE/keys/public-keys.yaml \
    --validator-host <Validator Node IP / DNS address>:<Port> \
    --stake-amount 100000000000000
    

    这将在目录中创建两个 YAML 文件~/$WORKSPACE/$USERNAMEowner.yamloperator.yaml

  6. 生成Validator的layout模板,该文件定义Aptos节点的validatorSet

    aptos genesis generate-layout-template --output-file ~/$WORKSPACE/layout.yaml
    

    生成后,编辑layout.yaml文件,复制粘贴下方的内容,替换文件中原有的内容。

    注意,user: 后 [“”] 需要保留

    root_key: "D04470F43AB6AEAA4EB616B72128881EEF77346F2075FFE68E14BA7DEBD8095E"
    users: ["这句话替换成第2步中你设置的username"]
    chain_id: 43
    allow_new_validators: false
    epoch_duration_secs: 7200
    is_test: true
    min_stake: 100000000000000
    min_voting_threshold: 100000000000000
    max_stake: 100000000000000000
    recurring_lockup_duration_secs: 86400
    required_proposer_stake: 100000000000000
    rewards_apy_percentage: 10
    voting_duration_secs: 43200
    voting_power_increase_limit: 20
    
  7. 下载 AptosFramework Move package到~/$WORKSPACE目录中framework.mrb

    wget https://github.com/aptos-labs/aptos-core/releases/download/aptos-framework-v0.3.0/framework.mrb -P ~/$WORKSPACE
    
  8. 编译 genesis blob和waypoint

    aptos genesis generate-genesis --local-repository-dir ~/$WORKSPACE --output-dir ~/$WORKSPACE
    

    完成后将在你的$WORKSPACE中创建genesis.blobwaypoint.txt 两个文件

  9. 回顾一下,在您的工作目录中,您应该有以下文件:

  • docker-compose.yamldocker compose 文件来运行验证器和全节点

  • keys文件夹,其中包括:

    • public-keys.yaml:所有者帐户、共识、网络的公钥(从第 4 步开始)。

    • private-keys.yaml:所有者帐户、共识、网络的私钥(从第 4 步开始)。

    • validator-identity.yaml:用于设置验证者身份的私钥(从第 4 步开始)。

    • validator-full-node-identity.yaml:用于设置验证者全节点身份的私钥(从第 4 步开始)。

  • username文件夹,其中包括:

    • owner.yaml:定义所有者、操作者和选民映射。它们在测试模式下都是同一个帐户(从第 5 步开始)。

    • operator.yaml:将用于 Validator 和 FullNode 的节点信息(从步骤 5 开始)。

  • layout.yaml: 包含根键、验证器用户和链 ID 的键值的布局文件(来自第 6 步)。

  • framework.mrb:AptosFramework Move 包(从第 7 步开始)。

  • waypoint.txt:创世交易的路点(从第 8 步开始)。

  • genesis.blob包含有关框架、validatorSet 等所有信息的 genesis 二进制文件(来自第 8 步)。

启动Docker

检查上方文件无误后,输入下方命令启动docker

sudo docker compose up -d

填写节点注册信息(Public Keys)

  1. 进入节点注册页面

  2. 打开服务器中keys文件夹中的public-keys.yaml文件,将信息填入表单中对应位置。

  3. 表单与public-keys.yaml 的对应关系

    CONSENSUS KEY - consensus_public_key

    CONSENSUS POP - consensus_proof_of_possession

    ACCOUNT KEY - account_public_key

    VALIDATOR NETWORK KEY - validator_network_public_key

表单与public-keys.yaml 的对应关系
表单与public-keys.yaml 的对应关系

填写节点注册信息(Validator Node)

  • IP地址(不用多说吧)

  • VALIDATOR (NOISE) PORT:6180

  • METRICS PORT:9101

  • API PORT:把8080改为80

完成后点击右边的VALIDATE NODE,等待一分钟,提示Node validated successfully!时表示大功告成!

设置案例
设置案例

STEP5 身份认证

需要上传Gov Issued ID与视频验证,非美国身份均可通过。

至此,如果你在 https://aptoslabs.com/it3看到的跟我一样,说明你报名成功了

post image

后续检查

打开下面的网址,输入你的IP地址,API PORT填写80,点击搜索,即可查看节点的运行情况

https://ait.aptos-node.info/

运行良好
运行良好

如果实在懒得动手搞,推荐去@核桃壳壳总那付费搭建,服务没得说。

其它问题请在Twitter上DM我。

https://twitter.com/cryptoxeon

https://twitter.com/LausanneDhondup