歡迎來到代號爲貓山王的Zilliqa測試網絡-v3。咱們邀請全部礦工成爲公共節點,加入到貓山王的測試網絡中。但願此次能讓你們熟悉工做流程,並幫助咱們在2019年1月底以前發現主網上線以前的潛在漏洞。咱們還鼓勵全部社區開發人員加入貓山王測試網,以便更好地瞭解Zilliqa的網絡架構。linux
貓山王測試網的自助最低難度等級爲3。此難度級別是動態的,並根據競爭加入Zilliqa網絡的節點數量進行調整。git
注意:難度級別是log2(難度)。
在每一個DS Epoch開始時,全部候選人都將運行工做證實(Ethash算法)過程300
秒窗口,以便競爭加入Zilliqa網絡。github
而後,知足DS_POW_DIFFICULTY
參數的節點將可以做爲DS節點加入。同時,知足POW_DIFFICULTY
參數的節點將做爲分片節點加入。算法
每一個DS Epoch(約1.5小時)內總共有100
個TX時期(每一個~1分鐘)。第100個TX時期被稱爲Vacuous時期。docker
上圖描繪了Zilliqa主網時期的架構。對於貓山王測試網絡,咱們在每一個DS紀元中包含100個TX塊用於測試。
空白時期會處理coinbase交易(獎勵機制)、升級機制(由於pBFT中沒有分支)和持久狀態存儲(寫入節點的DB而不是僅存儲在內存中)。在這個時期,網絡不會處理任何常規交易。shell
在Zilliqa網絡中,獎勵基於DS時期內節點完成的簽名數量。由分片和DS節點提交的簽名將得到相同的獎勵。獎勵被整合爲一個DS時期,並在空白時期期間給出。json
例如,若是Zilliqa網絡中總共有1,200
個節點,而且每一個DS Epoch的COINBASE_REWARD
設置爲10,000,000
ZIL,則每一個簽名分配的獎勵將是:ubuntu
10,000,000 /(1,200 * 2/3 [成功簽名者] * 99 [TX塊])= 每一個簽名126.262626262626263 ZIL
貓山王測試網的硬件要求windows
目前,挖礦僅適用於Ubuntu 16.04 OS。若是您但願雙啓動Windows和Ubuntu 16.04,請按照此處(https://itsfoss.com/install-ubuntu-1404-dual-boot-mode-windows-8-81-uefi/)的步驟操做。安全
咱們目前支持AMD(使用OpenCL)和Nvidia(使用CUDA)GPU。
Zilliqa挖礦節點的建議要求是:
若是您但願使用支持OpenCL的GPU進行PoW,請運行如下代碼來安裝OpenCL開發人員包:
sudo apt install ocl-icd-opencl-dev
若是您但願使用支持CUDA的GPU進行PoW,請從NVIDIA官網(https://developer.nvidia.com/cuda-downloads)下載與安裝CUDA軟件包。您可能須要從新啓動PC才能使安裝生效。
若是您有多個OpenCL或CUDA GPU,它們能夠同時運做。請編輯位於「join」文件夾中的_constants.xml_文件中的GPU_TO_USE
參數,以選擇您但願使用的GPU數量。
索引從0
開始,您能夠選擇一個或多個GPU。例如,1個GPU爲0
,3個GPU爲0,1,2
或0,2,4
。確保最大的索引與您在挖礦設備中物理上的GPU數量相對應。
使用docker挖礦的步驟
(僅適用於CPU或Nvidia GPU)
1.按照如下說明安裝Ubuntu 16.04.5操做系統:
http://releases.ubuntu.com/xenial/
2.按照如下說明爲Ubuntu安裝Docker CE:
https://docs.docker.com/install/linux/docker-ce/ubuntu/
3.(可選)如上所述安裝Nvidia CUDA驅動程序。若是使用CPU進行挖礦,則能夠跳過此步驟。
4.在桌面中建立一個新目錄並將目錄更改成:
cd ~/Desktop && mkdir join && cd join
5.在命令提示符下獲取docker鏡像:
wget https://testnet-join.zilliqa.com/configuration.tar.gz tar zxvf configuration.tar.gz
6.若是您在NAT環境中分別使用選項1a或選項1b,則啓用UPnP或執行單端口轉發。 不然,若是您已經有公開的IP地址,請使用選項2查找當前的公共IP地址。
注意:若是您使用的是家用路由器,則極可能是在NAT環境中而且能夠啓用UPnP。可是,若是UPnP不起做用,則能夠執行端口轉發。
(選項1a) 在家用路由器上啓用UPnP模式。請谷歌你的家庭路由器設置,這裏能夠找到一個例子。您能夠經過安裝如下工具來檢查是否已啓用UPnP:
sudo apt-get install miniupnpc
而後在命令行後輸入:
upnpc -s
您將收到一條消息 "List of UPNP devices found on the network :"或"No IGD UPnP Device found on the network !"。前者意味着UPnP模式已成功啓用,然後者意味着UPnP模式存在問題。若是您屬於後一種狀況,請參閱下面的選項1b。
(選項1b) 單端口在路由器菜單中轉發本地計算機IP。您能夠在路由器菜單的TCP / UDP協議中同時將30303
設置爲外部端口(端口範圍),30303
設置爲內部端口(本地端口),您能夠在此處(https://www.linksys.com/us/support-article?articleNum=136711)找到示例。而後,您可使用命令提示符找出您的路由器IP地址:
curl https://ipinfo.io/ip
(選項2) 若是您的命令提示符中已有公共IP地址,請直接查找您的公共IP地址:
curl https://ipinfo.io/ip
7.在命令提示符下運行shell腳本以啓動docker鏡像。
(選項1) 用於CPU挖礦:
./launch_docker.sh
(選項2) 對於Nvidia GPU挖礦,請先下載
nvidia-docker(https://github.com/NVIDIA/nvidia-docker),而後:
./launch_docker.sh --cuda
注意:若是您但願同時運行多個Nvidia GPU,則須要按照此處的說明修改_constants.xml_文件。注意:不幸的是,沒有直接支持這種針對AMD GPU的docker構建。咱們建議您按照如下說明在本地構建Zilliqa,而不是使用docker。
8.而後系統將提示您輸入一些信息,以下所示:
Assign a name to your container (default: zilliqa):
[若是使用默認值,請按Enter跳過]Enter your IP address ('NAT' or *.*.*.*):
[鍵入NAT或您在步驟6中找到的公共IP地址]Enter your listening port (default: 30303):
[若是使用默認值,請按Enter跳過]9.你如今是貓山王測試網絡的一名礦工。您可使用如下方法監控進度:
tail -f zilliqa-00001-log.txt
當您成爲網絡中的分片/ DS節點時,若是您設法在DS紀元開始時贏得PoW進程,您將在日誌中收到通知。
10.要檢查本地生成的公鑰和私鑰對,能夠在命令提示符中輸入:
less mykey.txt
第一個十六進制字符串是您的公鑰,第二個十六進制字符串是您的私鑰。
注意:密鑰對是在磁盤上本地生成的。務必記住將私鑰保存在安全的地方!
11.中止經過 docker 挖礦,[DOCKER NAME]是你的 Docker 名稱:
sudo docker stop [DOCKER NAME]
本地挖礦的步驟
1.爲Zilliqa建立一個新目錄:
cd ~/Desktop && mkdir Zilliqa
2.爲Scilla建立一個新目錄:
mkdir Scilla
3.建立一個新的加入目錄:
mkdir join
4.克隆Scilla存儲庫並將目錄更改成:
git clone https://github.com/Zilliqa/Scilla.git Scilla && cd Scilla
5.找出當前目錄路徑並將其寫下:
pwd
make clean; make
7.克隆Zilliqa存儲庫並將目錄更改成:
cd .. && git clone https://github.com/Zilliqa/Zilliqa.git Zilliqa && cd Zilliqa && git checkout 4cb83d6
8.再次找出當前目錄路徑並將其寫下:
pwd
9.備註: 若是你用 CPU 進行挖礦,請跳過此步驟:
(可選) 爲 Nvidia GPUs 安裝 CUDA 驅動,參看 對於 CUDA 部分
(可選) 爲 AMD GPU 安裝 OpenCL 驅動, 參看 對於 OpenCL 部分
10.首先下載Zilliqa依賴項,而後構建Zilliqa用於CPU挖礦或GPU挖礦。
首先,下載依賴項:
sudo apt-get update sudo apt-get install git libboost-system-dev libboost-filesystem-dev libboost-test-dev \ libssl-dev libleveldb-dev libjsoncpp-dev libsnappy-dev cmake libmicrohttpd-dev \ libjsonrpccpp-dev build-essential pkg-config libevent-dev libminiupnpc-dev \ libprotobuf-dev protobuf-compiler libcurl4-openssl-dev
(選項1) 構建Zilliqa用於CPU挖礦
./build.sh
(選項2) 使用CUDA爲Nvidia GPU挖礦構建Zilliqa
./build.sh cuda
(選項3) 使用OpenCL構建用於AMD GPU挖礦的Zilliqa
./build.sh opencl
11.下載壓縮的加入配置文件:
cd ../join && wget https://testnet-join.zilliqa.com/configuration.tar.gz
12.解壓縮壓縮文件:
tar zxvf configuration.tar.gz
13.編輯_constants.xml_並將SCILLA_ROOT
參數更改成Scilla源目錄的完整路徑,如步驟5中所示。
14.(可選) 若是您但願使用GPU,請編輯constants.xml並更改如下內容:
FULL_DATASET_MINE
參數從false
更改成true
。將OPENCL_GPU_MINE
參數從false
更改成true
。對於Nvidia GPU:將FULL_DATASET_MINE
參數從false
更改成true
。 將CUDA_GPU_MINE
參數從false
更改成true
。
注意:若是您但願同時運行多個GPU,則須要按照此處的說明修改_constants.xml_文件。
15.若是您在NAT環境中分別使用選項1a或選項1b,則啓用UPnP或執行單端口轉發。不然,若是您已經有公開的IP地址,請使用選項2查找當前的公共IP地址。
注意:若是您使用的是家用路由器,則極可能是在NAT環境中而且能夠啓用UPnP。可是,若是UPnP不起做用,則能夠執行端口轉發。
(選項1a) 在家用路由器上啓用UPnP模式。請谷歌你的家庭路由器設置,在這裏(https://routerguide.net/how-to-enable-upnp-for-rt-ac66u/)能夠找到一個例子。您能夠經過安裝如下工具來檢查是否已啓用UPnP:
sudo apt-get install miniupnpc
而後在命令行中輸入:
upnpc -s
您將收到一條消息「網絡上找到的UPNP設備列表:」或「網絡上找不到IGD UPnP設備!」。前者意味着UPnP模式已成功啓用,然後者意味着UPnP模式存在問題。若是您屬於後一種狀況,請參閱下面的選項1b。
(選項1b) 單端口在路由器菜單中轉發本地計算機IP。您能夠在路由器菜單的TCP / UDP協議中同時將30303
設置爲外部端口(端口範圍),30903
設置爲內部端口(本地端口),您能夠在此處(https://www.linksys.com/us/support-article?articleNum=136711)找到示例。而後,您可使用命令提示符找出您的路由器IP地址:
curl https://ipinfo.io/ip
(選項2) 若是您的命令提示符中已有公共IP地址,請直接查找您的公共IP地址:
curl https://ipinfo.io/ip
16.使用如下命令加入Zilliqa測試網絡:
./launch.sh
17.系統將提示您輸入如下詳細信息:
Enter the full path of your zilliqa source code directory
[鍵入您找到的路徑第8步] Enter your IP address (NAT or *.*.*.*):
[鍵入NAT或您在步驟14中找到的IP地址] Enter your listening port (default: 30303):
[若是使用默認值,請按Enter跳過] 18.你如今是貓山王測試網絡的一名礦工。您可使用如下方法監控進度:
tail -f zilliqa-00001-log.txt
若是您在DS紀元開始時設法贏得PoW進程,您將在日誌中收到您已成爲網絡中的分片/ DS節點的通知。
19.要檢查本地生成的公鑰和私鑰對,能夠在命令提示符中輸入:
less mykey.txt
第一個十六進制字符串是您的公鑰,第二個十六進制字符串是您的私鑰。
注意:密鑰對是在磁盤上本地生成的。務必記住將私鑰保存在安全的地方!
20.中止本地挖礦,請輸入:
pkill zilliqa
討論渠道和錯誤報告
加入咱們的官方挖礦討論Gitter頻道:
https://gitter.im/Zilliqa/Mining
加入社區管理的Telegram頻道:
若是您在加入貓山王測試網時遇到問題或錯誤,請將您的log.txt文件提交到此Google表單:https://goo.gl/forms/y21CZrSwotvyNoKY2。
咱們會盡量幫助您。