Kusama验证人节点搭建

Kusama验证人节点搭建

该教程在Ubuntu 18.04下制作完成,基本Kusama v0.7.30版本为了系统安全性,请不要使用root账户。

1.机器配置

  • 存储: 500g。验证人节点需要配置运行参数–pruning=archive,需要同步全部的节点,目前数据有25G左右,同步完成需要36小时左右,以后还会随着块高的增长不断增加。
  • 内存: 8GB。2GB是最低要求,为了更好的性能,提高到8G。
  • CPU: 2核。一个CUP是可以,但是2个更好。 同样地这是一种性能偏好。

2.安装必要软件

安装rust

curl https://sh.rustup.rs -sSf | sh

如果已经安装rust,确认升级到最新版本

rustup update

###安装运行kusama节点需要的软件

sudo apt install make clang pkg-config libssl-dev build-essential

安装配置Network Time Protocol (NTP) Client

Ubuntu 18.04中默认已安装NTP Client,可运行timedatectl命令确认

timedatectl

如果没安装可以运行安装命令:

sudo apt-get install ntp

确认软件正常工作:

sudo ntpq -p

3.安装polkadot命令工具

编译polkadot

git clone https://github.com/paritytech/polkadot.git
cd polkadot
git tag | grep "$v\0\.7"
git checkout v0.7.28
./scripts/init.sh
cargo build --release

安装subkey

为了安全地生成kusama账号,使用subkey工具,安装方式:

cargo install --force --git https://github.com/paritytech/substrate subkey

4.配置启动节点

启动节点

验证人节点必须以 archive 模式同步以避免被惩罚。如果您已经同步好,您必须首先运行polkadot purge-chain删除之前的数据库,然后确保使用–pruning=archive运行 Polkadot。

./target/release/polkadot --chain kusama --pruning=archive

创建账号

  • Stash:此帐户持有用于抵押的保证金,但将某些功能委托给Controller账号,代币有可能会被没收。 Stash密钥可以放在冷钱包中,这意味着它始终保持离线状态。它还可以指定代理帐户以对治理建议进行投票。
  • Controller:代表存储帐户执行操作,发出有关提名和验证的决策。这个账户可以来决定什么时候开始和停止验证人的工作。
  • Session:这个账户中的seed会被用来运行节点。

我们使用subkey生成账号,需要特别注意的是,stash和controller账户都可以使用Schnorrkel(sr25519)来做密钥对加密形式,但必须使用Edwards(ed25519)来给session账号设置。

使用Schnorrkel(sr25519)来做密钥对加密形式

subkey --network kusama --sr25519 generate

使用Edwards(ed25519)来做密钥对加密形式

subkey --network kusama --ed25519 generate

把大多数的KSM 代币存在stash账户中,仅保存少量的KSM代币在controller账户为了必要的操作,Session账户不需要任何的KSM代币就可以运行功能。

绑定KSM

打开 https://polkadot.js.org/apps/# ,保证setting里面配置连接本地websocket节点 ws://127.0.0.1:9944

Polkadot UI中找到Staking -> “Account Actions” -> “New stake”

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sU8GuF3e-1587434974110)(https://wiki.polkadot.network/docs/assets/guides/how-to-validate/polkadot-dashboard-bonding.jpg “绑定KSM”)]

  • Stash account -选择 Stash 账户。在这个例子我们会绑定 100 milliKSMs - 确保你的 Stash 帐户拥有至少这个数量。当然你也可以绑定更多。

  • Controller account - 选择你之前创建的 Controller 帐号。此帐户也需要少量 KMS 才能开始和停止验证。

  • Value bonded - 你想从Stash账户里面绑定的KSM数量。注意你不一定要绑定Stash账户里面全部的KSM。在绑定完完成后,你一直都可以继续追加绑定KSM。但是要提现绑定中的SM,需要等到解绑周期结束,KSM中解绑周期是7天。

  • Payment destination - 把奖励发送到那个帐戶。

设置 Session 密钥

确保节点全部同步完毕后,Ctl-c关毕进程,以validator模式启动节点,并且用session账户的文件来运行你的验证人:

./target/release/polkadot --chain kusama --validator --keystore-path=/home/validator/kusama_home/polkadot/CqLSsLsT4vzvjxvUvZiHQ1HmkindkXnJHmg3JcGzwmBSw98.json --name 168NODE-COM --pruning=archive

接下来生成session keys,将结果保存好。

curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933

发起setKeys交易

需要将session keys告诉整个链。Polkadot UI中找到"Staking" -> “Account Actions” -> “Set Session Key”,输入author_rotateKeys,点击"Set Session Key".

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dFMJlA8w-1587434974114)(https://wiki.polkadot.network/docs/assets/guides/how-to-validate/set-session-key-1.jpg “setKeys”)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dcm3Cr7W-1587434974115)(https://wiki.polkadot.network/docs/assets/guides/how-to-validate/set-session-key-2.jpg “setKeys”)]

完成后节点就开始工作了。

5.验证

验证的目的是证明你的节点是存活的,并且能在Telemetry( https://telemetry.polkadot.io/#/Kusama )上找到你的节点。

Polkadot UI找到"Validate"

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vJ8y8XUz-1587434974119)(https://wiki.polkadot.network/docs/assets/guides/how-to-validate/polkadot-dashboard-validate.jpg “setKeys”)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IfHYHCEz-1587434974123)(https://wiki.polkadot.network/docs/assets/guides/how-to-validate/polkadot-dashboard-validate-modal.jpg “setKeys”)]

Payment preferences - 验证人会先取下这里设定的奖励,余下那些将会与提名你的人按比例分配。

点击 “Validate”。

在Telemetry( https://telemetry.polkadot.io/#/Kusama )上找到你的节点。验证人节点搭建完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值