Phala单机部署(2)-配置、启动、更新节点

环境部署好后,接着就该准备账户、启动节点了

期间涉及网站汇总

序号 地址 介绍
1 https://bitcube.pro/ 可app端管理pha代币,目前只有android版
2 https://polkadot.js.org/extension/ chrome/edge浏览器钱包插件(需安装)
3 https://app.phala.network/ phala钱包操作、抵押等所有行为均离不开它
4 https://phala.one/stake/ 用于便捷计算质押值
5 https://wiki.phala.network/ phala 官方开发者文档
6 https://forum.phala.network/c/cn-simplified/9 phala中文论坛
7 https://github.com/wowvwow/Phala-Network phala节点源码
8 https://github.com/zozyo/phala-guide 第三方提供的部署phala的工具和方案
9 https://khala.subscan.io/ khala区块链浏览器
10 https://kusama.subscan.io/ kusama的区块链浏览器 |
11 https://kusama.subscan.io/parachain/2004 khala在kusama的平行链简介 |
12 https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fkhala.api.onfinality.io%2Fpublic-ws#/explorer khala在polkadot中的区块链浏览器
13 https://github.com/wowvwow/Phala-Network 第三方提供的便捷部署脚本和解决方案
14 https://github.com/zozyo/phala-guide 第三方提供的矿工指导教程
15 https://github.com/suugee/phala-prb 集群部署包括prb
16 https://github.com/Phala-Network/solo-mining-scripts solo模式部署

以上网站中,至少需要预先安装好第2项中指定第插件,该插件的使用方式,请自行去网上查找,记得在插件中将账户地址格式显示成Phala网络的。
该插件可以用来创建phala钱包账户。

账户管理

正常情况下,我们需要准备4个账户地址,分别为:

  1. gas账户,用于节点运行期间矿工燃烧使用,里面余额需大于0,建议在10个左右,以防矿工烧的gas不够用了出问题。
  2. 质押池账户,顾名思义,质押专用,初始时,一个左右,够操作的时候交gas就行。这个账户也是用来创建和管理矿工的。
  3. 个人账户,自行管理pha余额使用,根据需要给不同账户充币
  4. 质押人账户,这是个可选账户,当你池子建好后,这些外部的质押账户就可以将币质押给你的池子。上面提到的质押池账户也可以用作质押人账户。

虽然说可以公用一个账户,但处于安全考虑,最好划分成这三个账号来各司其职。
另外,保管好这三个账户的私钥、助记词等,毕竟这是你的私有财产。

Phala配置

节点是在docker中运行的,因此,期间有一些配置需要我们结合实际来变更。

变更节点数据存储位置

节点数据我们一般都会存到大容量磁盘目录下,但默认情况下,phala会将同步的节点数据保存到:/var/data目录,这个目录不一定符合需要,因此,可以通过如下操作来变更:
前往:/opt/phala/.env文件,将NODE_VOLUMESPRUNTIME_VOLUMES的主机目录(冒号左方)变为你需要指向的目录。

20220406备注:
如果khalakusama数据要分别存到固态硬盘和机械硬盘的话,需要手动到docker-compose.yml中手动映射目录:chainspolkadot,当前官方脚本暂不支持.env,从反馈看,后续会支持的,静待。
强烈建议khala数据放到固态硬盘下,否则后面校验数据速度会抓狂,我这里速度相差了十几倍

节点信息配置

有专门的命令来引导配置,这里需要强调的是,引导的配置,其实都是在/opt/phala/.env文件中

1
2
3
4
5
6
# 配置账户信息
sudo phala config set
# 按照引导完成配置,其中,gas账户余额必须大于0。这些配置都很简单,也很明确,这里就不阐述了

# 查看配置信息
sudo phala config show

启动节点

执行以下命令后,会启动三个docker服务:挖矿程序phala-pruntime中转组件phala-pherry区块节点数据phala-node,本小结后面专门介绍这三个服务的概念
三者之间的关系如下图:

1. 启动命令

1
2
3
4
5
6
7
8
9
10
11
12
13
# 数据同步,这条命令貌似有问题,可以跳过不执行它,直接执行下一条start命令
sudo phala presync

# 该命令会安装docker 、同步数据、启动节点运行等(俗称挖矿),后台执行
sudo phala start

# 检查三个docker服务是否都在UP状态,若有异常,则排查原因
sudo docker ps -a

# 期间可以通过docker执行查看各个docker服务等日志,docker命令这里就不讲解了,网上很多

# 查看phala链、同步信息,每分钟刷新一次
sudo phala status

启动后,会先同步khala和kusama数据,这两个同步完成后,才开始同步,pherry。同步完成后,开始注册矿机,并显示一个矿机的公钥地址,这个地址用来后续给抵押池中使用。

2. 区块节点数据服务phala-node

该服务只是用来同步节点数据的,不使用SGX
节点数据保存地点为[指定的主机目录]/khala-dev-node,其中 khala 链数据保存在chains子文件夹下,kusama 链数据保存在polkadot子文件夹下
数据同步会占用部分CPU,如果有条件,可以单独一台性能良好的主机部署该服务(不需要SGX)

3. 中转服务phala-pherry

该服务只是用来中转数据的,不使用SGX
中转组件是一个无状态的转换机,只起到传话筒的作用。重启中转组件只会导致很短暂的 pruntime 的暂停同步。
有时官方可能会有链上升级,会有通知重启中转组件,建议保持关注官方的技术交流群,以免造成损失。
pherry服务会占用部分CPU,如果有条件,可以单独一台性能良好的主机部署该服务(不需要SGX)

4. 挖矿服务phala-pruntime

pruntime(挖矿程序)作为最关键的组件,必须在支持 SGX 的设备上运行,并且 phala config set 命令里面唯一对其生效的参数只有核心数量。
运行 pruntime 并且链上开始挖矿时,会有 ./app 的程序占用 100% 的 CPU,这是正常情况。
PHA 挖矿需要满负载 CPU, 建议设备使用较好的散热器以获得高评分。

节点更新

当需要更新节点时,执行如下操作

1
2
3
4
5
6
7
8
9
10
11
# 务必先停止服务
sudo phala stop

# 更新节点
sudo phala update

# 或者更新并清除原有保存的所有信息,谨慎操作该命令
sudo phala update clean

# 重新启动服务
sudo phala start

phala app操作

前往地址:https://app.phala.network/

抵押机制

官方针对抵押机制,有个简洁版的说明:
质押机制
质押示例

英文版的,这里我做个简单说明。

创建抵押池

该步骤需要使用抵押账户来创建,抵押账户余额至少需要够交手续费,手续费很少:

设置抵押上限和佣金率

如下图:
Set Commission 抵押池费率:0-100,100表示所有收益均归抵押池所有,0表示所有收益均亏质押人所有。一般要吸引人的话,设置个50左右
Set Cap 抵押上限,默认无上限,设置一个上限,主要的目的是可以防止外人任意抵押。
上限这个值可以根据矿工最小质押只和来考虑,最起码要大于矿工要求的最小质押(这个等后面步骤添加了矿工后,会有一个最小和最大质押额度,这个最大质押额度是针对矿工的),总之,这个质押池的上限要大于最终所有矿工质押的数量。具体参考依据可以看下面挖矿前各个账户余额准备以及质押池质押余额准备中介绍的

添加Worker

看上图
Add Worker:将worker和抵押池绑定。这个worker是输入节点同步结束后,注册成功的那个系统给的矿工公钥地址。
这里也可以看出:

  1. 要先等节点数据同步完毕
  2. 一个质押池可以绑定多个worker
  3. 只有质押池创建者才能添加worker

挖矿前各个账户余额准备以及质押池质押余额准备

  1. 下方矿工启动前,页面会提示至少质押数额(如下图);另外根据下面公式,可以估算出最少要质押的数量:

S\nolimits_min = k \sqrt{P}

其中,
P矿工评分,这个就是节点同步完,矿工注册后,显示的那个p评分,如上图所示;
k为系数,目前官方舍弟khala和phala网络均为50

  1. 根据计算出的质押数量,估算该质押池质押上限(或者根据业务需要选择是否设置上限),并设置
  2. 通过质押页面,找到pid,将token(数额要大于上面计算的最少质押数量)质押到指定的质押池,具体质押多少,根据业务决定。质押操作如下图

开始挖矿

点击开始挖矿,会显示启动该矿工需要的最少质押和最大质押,根据前面质押池已经质押的数量,输入一个最少和最大之间的数(这个数不能大于你质押池的数,当然越大挖矿效率越高),然后就能启动矿工挖矿了,这里需要注意的是,此处启动需要输入的数,只是将质押池的对应数量的token锁定给矿工,并不是要从你账户里再扣除这个数。

以上步骤操作完成后,点击开始挖矿,当挖到收益后,就会按比例将收益划分给指定用户(抵押人账户和抵押池账户)
目前看,20秒左右可以出一个块(快的时候12秒左右就能出块);但貌似要两天左右才能轮到挖出一次

质押及奖励获取

这里需要知道:挖出来的20%是要给Treasury,也就是国库,相当于是税收
官方这里讲解的很详细,直接看吧:
质押及奖励获取
估算你的收益
后面我也会结合官方的操作来写出自己的操作方式和心得

总结

至此,该篇结束,单机从部署到产生收益整个流程已经可以走通。

Donate
  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.
  • Copyrights © 2017-2023 Jason
  • Visitors: | Views:

谢谢打赏~

微信