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 測試的一切操作