Qtum量子鏈Staking(PoS挖礦)教程

Qtum採用PoS共識機制,與比特幣等採用的PoW機制有所不一樣。與比特幣中挖礦相似,Qtum PoS機制中稱爲Staking。每次Staking成功可累計得到至少4 QTUM做爲獎勵。實際得到獎勵通常超過4QTUM,由於交易手續費和合約調用費用也將做爲Staking獎勵。html

開始Staking需知足兩個基本條件:安全

  1. 運行Qtum全節點,並保持在線(不須要礦機,任何PC/Mac,甚至樹莓派均可以運行Qtum全節點);
  2. 擁有QTUM量子幣(不管數量多少均可以Staking,但擁有Qtum數量越多,挖到礦的可能性越高)。

若是你尚未QTUM量子幣,請先經過各類平臺獲取必定數量QTUM備用。bash

Qtum官方核心錢包能夠運行Qtum全節點,是目前惟一支持Staking的錢包。請注意,手機錢包暫不支持Staking網絡

有兩種方式進行Staking:ide

  • 方式一:用命令行運行qtumd進行Staking;
  • 方式二:用PC版qtum-qt錢包進行Staking。

方式一適用於熟悉Linux/OSX/Windows命令行操做的用戶,包括樹莓派用戶;方式二適用於適用有圖形界面錢包的用戶。讀者能夠根據自身需求選擇其中一種方式進行Staking。兩種方式徹底等效,Staking(挖礦)效果沒有任何區別。區塊鏈

方式一:用命令行運行qtumd進行Staking

1. 運行qtumd

qtumd運行和交互的方法請參考教程《如何部署Qtum量子鏈節點》中「獲取Qtum節點」和「部署Qtum節點」部分。ui

按照以上教程運行qtumd:加密

./qtumd -daemon
複製代碼

Staking功能在錢包未加密時將默認開啓,無需其餘設置。
spa

2. 轉入QTUM量子幣

首先獲取錢包地址,命令爲:命令行

./qtum-cli getnewaddress
複製代碼

命令將返回一個新生成的地址,地址以Q開頭。能夠向該地址轉入一筆或多筆QTUM用於Staking。讀者能夠用一樣方法生成任意多地址,並向地址中轉入任意多筆Qtum進行Staking。

注意:剛轉入的QTUM須要等待500個區塊確認纔可用於Staking,即大概須要等待17小時。這與Qtum採用的MPoS共識機制有關,對其運行原理感興趣的讀者能夠參考《Qtum區塊鏈指南》進一步瞭解。

在區塊同步完成後,能夠經過./qtum-cli getbalance查看錢包餘額,或./qtum-cli listunspent查看全部UTXO。(什麼是UTXO?)。

建議在QTUM轉入500個區塊後再進行如下步驟,由於確認數小於500個的UTXO沒法進行Staking。

3. 查看Staking狀態

經過如下命令能夠查看staking狀態:

./qtum-cli getstakinginfo
複製代碼

運行相似結果以下:

{
  "enabled": true,
  "staking": true,
  "errors": "",
  "currentblocksize": 1000,
  "currentblocktx": 0,
  "pooledtx": 5,
  "difficulty": 5683612.564280176,
  "search-interval": 46,
  "weight": 53206430,
  "netstakeweight": 2278172497819029,
  "expectedtime": 5480654870
}
複製代碼

其中enabled表明是否開啓Staking功能,該功能是默認開啓的;staking表明目前是否有QTUM正在Staking,true即表明正在Staking;weight表明目前正在staking的Qtum數量,單位是10^-8QTUM,本例子中約0.532QTUM;expectedtime表明目前你挖到礦的指望時間,單位是秒。

4. 加密的錢包如何Staking?

若是讀者不須要對錢包加密,請跳過此步驟。可是錢包未加密狀態下,經過錢包收發QTUM將

錢包能夠經過encryptwallet命令進行加密,進一步保證資金安全。然而,在錢包加密的狀態下,Staking功能將被默認關閉。加密後./qtum-cli getstakinginfo將得到以下結果:

{
  "enabled": true,
  "staking": false,
  "errors": "",
  "currentblocksize": 1000,
  "currentblocktx": 0,
  "pooledtx": 94,
  "difficulty": 5788429.670171153,
  "search-interval": 0,
  "weight": 53206430,
  "netstakeweight": 2438496688951881,
  "expectedtime": 0
}
複製代碼

注意staking狀態變爲false,說明沒有在Staking。

經過以下walletpassphrase命令能夠對錢包進行解鎖:

./qtum-cli walletpassphrase "<你設置的密碼>" 99999999 true
複製代碼

其中第一個參數爲用戶加密時設置的密碼,第二個參數99999999爲須要解鎖的時間,單位是秒,能夠根據用戶須要進行設置;第三個參數表示是否只解鎖staking功能,設置爲true則表示只解鎖用於Staking,而發送QTUM仍須要輸入密碼。若第三個參數缺省,則表示徹底解鎖錢包,不只能夠Staking,也能夠正常發送QTUM。

解鎖後用getstakinginfo可查看狀態,一切正常的話便可以在錢包加密狀態下Staking了。

方式二:用PC版Qtum-qt錢包Staking

Qtum-qt錢包的基本使用方法請參考qt錢包教程(點擊打開)。目前支持的Mac/Linux/Windows,用戶能夠自行下載安裝。

1. 打開Qtum qt錢包

打開已經安裝好的Qtum錢包。

2. 轉入QTUM量子幣

若是錢包中已有QTUM可跳過此步驟。

若錢包中無QTUM,則向錢包地址中轉入必定數量的QTUM,方法請參考qt錢包教程(點擊打開)

注意,新轉入的QTUM須要等待500個區塊(約17小時)的成熟時間,纔可進行Staking。所以,建議用戶等待500個區塊後再進行如下步驟。

3. 查看Staking狀態

經過錢包右下角的閃電標誌能夠查看Staking的狀態。

若閃電爲實心,表示正在Staking。將鼠標放到閃電標誌上,能夠看到Staking相關信息,以下圖所示:

正在Staking

  • Staking表示正在挖礦;
  • Your weight is表示當前你正在參與Staking的QTUM數量,單位是1QTUM;
  • Network weight is表示網絡中正在參與Staking的QTUM數量,單位是1QTUM;
  • Expected time表示挖到礦的指望時間,單位是天。

若閃電爲空心,表示不在Staking。可能的緣由有:

  • 錢包裏沒有超過500個區塊確認的QTUM -- 解決方法:這時請向錢包轉入QTUM,並等待500個區塊(約17小時);

沒有成熟的QTUM致使沒法Staking

錢包未解鎖致使沒法Staking

若無閃電標誌,說明禁用了Staking功能

錢包未開啓Staking

關於Staking獎勵

若是用戶順利挖到一個區塊,能夠累積得到超過4QTUM的獎勵。關於挖礦獎勵有如下幾點須要注意:

  • 獎勵會以一筆新交易的形式發送給你,命令行用戶可經過getbalance命令查看餘額變化,qt錢包用戶能夠直接看到收入的交易;
  • Staking成功,你會馬上收到一筆0.4QTUM的獎勵;
  • 剩餘3.6QTUM的獎勵會在500個區塊(約17個小時)以後,在連續九個區塊中獎勵給你,每一個區塊你將得到0.4QTUM,與上條中0.4QTUM合計共4QTUM;
  • Staking成功的那個幣(UTXO)將被鎖定500個區塊,直到500區塊以後才能夠進行交易或繼續進行Staking。爲了避免讓資金鎖定過久,用戶能夠選擇將一個大的UTXO分紅若干個較小的UTXO,這樣只有挖到礦的那個UTXO會被鎖定;

這一獎勵機制和Qtum採用的MPoS機制有關,有興趣瞭解原理的讀者能夠參考《Qtum區塊鏈指南》。

如何關閉Staking功能

Qtum錢包會默認開啓Staking,但有些狀況用戶或交易所想要關閉該功能。有如下幾種方式能夠中止Staking:

1 命令行用戶能夠在運行時加上-staking=false選項,如:

./qtumd -staking=false -daemon
複製代碼

啓動qt錢包的命令:

./qtum-qt -staking=false
複製代碼

2 在配置文件qtum.conf中添加staking=false

3 鎖定錢包,錢包在鎖定狀態下會自動中止Staking。

相關文章
相關標籤/搜索