Wanchain 于 5 月 18 日发布 PoS 星系共识 Alpha 测试,本文细致到代码层面,告诉参与者,如何申请加入 Alpha 测试?如何申请 WAN 测试币?软硬件环境要求有哪些?如何查询验证节点运行状态及相关数据?如何创建成为验证节点和委托人?以及关于 Staking 其他的一些常用操作。

文章来源:公众号 WanFans
作者:Wanchain 星系共识团队

Wanchain 创始人兼 CEO 吕旭军宣布 Wanchain PoS 星系共识 (Galaxy Consensus) Alpha 版开放测试。Alpha 测试开放时间自 5 月 18 日起至 Beta 测试上线时止(六月上旬)。Alpha 测试提供基于命令行的运行方式。Wanchain 基金会设立了 50,000WAN 的奖励池,对参加验证节点测试并上报缺陷的参与者,Wanchain 将给予测试者相应的 WAN 代币奖励。在 Beta 版发布的时候,Wanchain 还会推出 Explorer 和轻钱包等可视化工具。

一、什么是星系共识?

星系共识是 Wanchain 的 PoS 共识机制。星系共识借鉴了已有的 PoS 共识 Ouroboros 方案,并对关键密码学组件进行创新设计,包括随机数生成和出块者选择等。星系共识中,所有权益持有者(WAN Stakeholder)共同组成了社区(Community),社区中的每一名成员都有机会参与共识并获得奖励,获得奖励的几率随 WAN 币的质押数量和锁定时间的提升而提高,而对加入社区的条件即成为普通验证节点,我们设置了 WAN 币最低质押数量的门槛为 10,000 WAN。同时,对可以接受委托的参与者即受托验证节点,我们设置的 WAN 币质押数量门槛为 50,000 WAN。

二、如何申请加入 Alpha 测试,如何申请 WAN 测试币?

有意向参与 Alpha 测试的参与者请访问此链接填写 Alpha 测试申请表:
http://wanchain.mikecrm.com/1O3vnbb

或扫描如下二维码填写申请表:

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

邮件收悉通过后,我们将向申请者的 Wan 地址随机分配 50,000WAN 至 150,000WAN 不等的代币。

在 Beta 版测试阶段,我们将提供 Faucet 测试币申请网站。届时,测试者将可自由申请 WAN 测试币。

三、软硬件环境要求有哪些?

1、硬件环境

此次为 Alpha 测试,考虑到测试者的服务器成本等原因,我们不对硬件环境做过多要求。请保证使用正常硬件配置或者较高配置的服务器或个人电脑。中国境内的验证节点,请确保其网络能正常访问境外网络。

下图展示的是星系共识正式上线后,验证节点所需要的硬件配置的最低要求和推荐要求,供此次参与 Alpha 的测试者参考。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

2、软件环境
  • 建议使用 Linux 或 MacOS 操作系统;
  • 使用 Docker 运行需要安装 Docker 服务;
  • 使用源码编译运行需要安装和配置 golang 运行环境:https://golang.org/
  • 配置环境变量 $GOPATH 和 $GOROOT

从 github 获取最新代码:

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

编译得到的 gwan 在此目录下:build/bin/gwan

四、如何查询验证节点运行状态及相关数据?

在 Alpha 测试阶段,我们同时发布了 PoS 浏览器 Alpha 版。通过该浏览器,测试者可监测星系共识的整体数据和每个验证节点的具体参数。

PoS 浏览器地址:http://52.13.64.66/

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

五、如何创建成为验证节点和委托人?

1、创建成为验证节点

1)安装 docker (Ubuntu)

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

2)使用 docker 中的 gwan 创建 keystore 账号

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

3)确保您的测试账户地址拥有足额的 WAN 测试币(运行普通验证节点至少大于 10,000 枚,运行受托验证节点至少大于 50,000 枚)

4)创建一个验证节点注册脚本文件
/home/YourUserName/.wanchain/minerRegister.js
注:代码中涉及的 miner 即为验证节点。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

脚本中的 FeeRate 字段为受托验证节点的委托费率,其值为 0-100。如果 FeeRate 字段设为 100,则表示受托节点不接受委托。如果 FeeRate 字段设为 10,则表示受托节点收取委托人 10% 的收益后,再与委托人按共识系统设计的算法进行收益分配。如果 FeeRate 字段设为 0,则表示受托节点不收取委托费率,即与委托人按共识系统的算法将全部收益进行分配。

5)在 gwan 中执行脚本

如果 2)中的 docker 没有关闭,可以直接按下述代码进入执行,如果已关闭,请重新启动:

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

执行完上述脚本,即可完成开启验证节点的权益挖矿(Staking)运行。测试者可通过 docker logs -f `docker ps -q` 命令查看工作日志。

注:权益挖矿工作,将在所有块同步完成后正式开始。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

2、实现委托人的 WAN 代币委托投注

在 Beta 版本发布后,可通过轻钱包可视化界面方便的完成委托投注。

在 Beta 版本之前,可按照如下命令执行投注。

1)安装 docker (Ubuntu)

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

2)创建账号,查找验证节点信息

请注意,在使用 pos.getStakerInfo 获取验证节点信息前,请确认当前已经同步到最新块。可通过 eth.blockNumber 来查看。

验证节点信息可以通过命令行查找,也可以通过浏览器查找。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

通过上述执行,得到本地账号 YourAccountAddress 和想要投注的具备理想委托费率 FeeRate 的验证节点地址 DelegateAddress。

3)确保您的测试账户地址拥有足额的 WAN 测试币(委托人至少大于 100 枚)

4)创建投注脚本

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作
从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

5)在 gwan 中运行投注脚本,完成委托人投注

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

六、常用操作

1、账号创建

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

执行上述命令后,keystore 文件会存储在默认目录 ~/.wanchain/pluto/keystore/ in Ubuntu 或者 ~/Library/Wanchain/pluto/keystore/ in Mac OS

使用如下命令获取星系共识需要用到的两个公钥。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

星系共识需要使用 key1 和 key3,作为 SecPk 和 G1PK。

2、查询余额

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

在链同步完成后,可通过下面指令查询余额。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

3、获取测试币

请扫描上文的二维码或登录 http://wanchain.mikecrm.com/1O3vnbb 进行填表申请。Beta 版之后会推出 faucet 网页,届时可自动发放测试币。

4、如何运行两大节点

1)非验证节点(全节点)

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

2)验证节点
在下面命令中请替换地址为您的个人地址 0x8d8e7c0813a51d3bd1d08246af2a8a7a57d8922e ,并替换 /tmp/pw.txt 为您地址的密码文本文件。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

5、Stake 注册和代理

用户注册一个节点服务器为星系共识验证节点(矿工)的步骤如下图所示:

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

用户通过 Stake register 注册成为验证节点。

Wanchain 提供了基于智能合约的注册和注销功能,合约参数如下:

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

在智能合约的参数中 , feeRate 是委托费率,通过设置合理费率吸引更多的委托人投注。

可以直接修改代码目录下的脚本文件来完成验证节点的注册 loadScript/minerRegister.js.
委托人投注脚本 loadScript/sendDelegate.js

脚本可在 IPC 链接到节点后执行。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

收益信息,收益率预测,可在浏览器中查询。

七、团队内测数据展示

下面展示了 Wanchain 工程团队使用不同的锁定金额,不同的锁定时间的收益实测数据。

锁定时间单位是 epoch。测试时,epoch 时间为 20 分钟,每个 epoch 有 120 个 slot。6 个 epoch 为 120 分钟。总 stake 量约为 6000000 ~ 8000000 万币。如果收益为 0, 则意味着概率较低,没有被选中。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作

下图展示了这四个验证节点在 5 个连续 Epoch 时间段内的收益率。

从代码入手,解读 Wanchain 星系共识 Alpha 测试的一切操作