如何在波卡测试网上起验证人节点

基础概念

验证人

验证人(Validator)节点是波卡中继(relay)链的重要角色。他们通过 DOT 权益挖矿机制维护中继链的安全性,并验证采集者(Collators)节点的证明。
具体的说,验证人的两大职责是:一方面,验证人有一个指定给他负责的平行链的集合,他必须验证来自这些平行链区块中的信息是否有效,比如交易各方身份的有效性,智能合约主要内容的有效性等;另一方面,验证人要参与中继链的共识机制,通过产生区块或验证其他验证人区块的有效性,保证中继链自身区块的生成。
类似其他区块链的矿工,对验证人也有着惩恶扬善机制。作恶将会扣除部分甚至全部的验证人抵押 DOT,同时交易费也会以 DOT 的形式奖励给为善的验证人。

波卡账户

波卡有三种账户类型,分别是 Stash,Controller 和 Session。

  • Stash 账户,主要存放资金(DOT)的地方,建议用冷钱包。其中的一部分资金可以设置为验证人的抵押 (BOND)DOT;
  • Controller 账户,用来发起验证人或投票人的相关操作的账户,里面只要存有用来发送交易的少量资金即可;
  • Session 账户,用来签署生成的区块等,参与链上的活动,起节点时使用该账户的 seed。该账户内无需拥有资金。其实 Controller 账户的 seed 也可以起节点,但是为了安全性,推荐的最佳实践就是建立一个专用的 Session 账户。

PoC-4 上起验证人节点

一般来说,成为验证人需要:

  • 拥有 DOT 参与权益挖矿(基本条件)
  • 保持节点为最新版本
  • 有足够的网络安全技术能力以保持网络的健壮
  • 使用 HSM(硬件安全模型)保护你的私钥(key)(墙裂建议)

对于那些没有技术背景的 DOT 持有者,不建议你们自己开一个验证人节点,将 DOT 委托或投票给你信任的人或者节点才是正确的行为。记住,作为投票人,可以给多个验证人投票,不影响你们应得的奖励。

在 PoC-4 测试网上,也就是 Alexander 测试网,可以领取 DOT 测试币体验一把验证人节点。具体流程如下(以 Ubuntu18.04 位例):

安装 RUST

curl https://sh.rustup.rs -sSf | sh
sudo apt install make clang pkg-config libssl-dev
rustup update

安装波卡 POC-4 代码

git clone https://github.com/paritytech/polkadot.git
# To update your node. Run from this step.
cd polkadot
cargo clean
git checkout v0.4
git pull origin v0.4
./scripts/init.sh
./scripts/build.sh
cargo install --path ./ --force

这个编译安装过程视硬件情况,会比较长。

同步区块

polkadot --chain alex

这步就慢慢等吧,可以到Telemetry上看最新区块高度,跟控制台日志比较以了解同步进度。

创建账户

上面准备好了节点程序,下面就是准备账户了。到波卡官方钱包上操作。
分别创建 Stash,Controller 和 Session 三个账户,最好各自加上前缀或后缀标明账户类型以免后面混淆。另外,对于 Stash 和 Controller 账户,用默认的 sr25519 秘钥类型即可,但是 Session 账户必须使用 ed25519 秘钥类型,并保存好 Raw seed,因为起节点的时候要用。

领 DOT 测试币

Stash 和 controller 账户都要领一点测试币,至少要 0.1DOT。Stash 中的 DOT 用来 bond,Controller 中的 DOT 用来支付交易费。
以下是两个水龙头:

BOND(抵押) DOT

在钱包的 Staking 页面上操作,在 Stash 账户上 Bond 一部分 DOT,注意该笔交易是用 Stash 账户签名的。

设定 SESSION KEY

在钱包的 Controller 账户界面,点击 Set Session Key 按钮,选择之前创建的 Session 账户即可。

STAKING 挖矿设置

这一步也在 Controller 账户界面,点击 Validate 按钮,设置一些挖矿参数,比如要保留多少挖矿奖励等。

用验证人参数重新开启节点

polkadot 
--chain alex 
--validator 
--key <SESSION_ACCOUNT_SEED> 
--name <VALIDATOR_NAME_ON_TELEMETRY> 
--telemetry-url ws://telemetry.polkadot.io:1024

查看方式

一种是前面介绍的 Telemetry,另一种是到钱包的Staking apps上看.
你起的节点应该显示在 next up 队列中。在下一个纪元(era),大概 1 小时左右,如果验证人槽位有空缺,你的节点就可能成为一个活动验证人节点了。

原文地址:https://www.cnblogs.com/hzcya1995/p/13312731.html