Qtum採用PoS共識機制,與比特幣等採用的PoW機制有所不一樣。與比特幣中挖礦相似,Qtum PoS機制中稱爲Staking。每次Staking成功可累計得到至少4 QTUM做爲獎勵。實際得到獎勵通常超過4QTUM,由於交易手續費和合約調用費用也將做爲Staking獎勵。html
開始Staking需知足兩個基本條件:安全
若是你尚未QTUM量子幣,請先經過各類平臺獲取必定數量QTUM備用。bash
Qtum官方核心錢包能夠運行Qtum全節點,是目前惟一支持Staking的錢包。請注意,手機錢包暫不支持Staking。網絡
有兩種方式進行Staking:ide
qtumd
進行Staking;qtum-qt
錢包進行Staking。方式一適用於熟悉Linux/OSX/Windows命令行操做的用戶,包括樹莓派用戶;方式二適用於適用有圖形界面錢包的用戶。讀者能夠根據自身需求選擇其中一種方式進行Staking。兩種方式徹底等效,Staking(挖礦)效果沒有任何區別。區塊鏈
qtumd
運行和交互的方法請參考教程《如何部署Qtum量子鏈節點》中「獲取Qtum節點」和「部署Qtum節點」部分。ui
按照以上教程運行qtumd
:加密
./qtumd -daemon
複製代碼
Staking功能在錢包未加密時將默認開啓,無需其餘設置。 spa
首先獲取錢包地址,命令爲:命令行
./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。
經過如下命令能夠查看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
表明目前你挖到礦的指望時間,單位是秒。
若是讀者不須要對錢包加密,請跳過此步驟。可是錢包未加密狀態下,經過錢包收發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了。
Qtum-qt錢包的基本使用方法請參考qt錢包教程(點擊打開)。目前支持的Mac/Linux/Windows,用戶能夠自行下載安裝。
打開已經安裝好的Qtum錢包。
若是錢包中已有QTUM可跳過此步驟。
若錢包中無QTUM,則向錢包地址中轉入必定數量的QTUM,方法請參考qt錢包教程(點擊打開)。
注意,新轉入的QTUM須要等待500個區塊(約17小時)的成熟時間,纔可進行Staking。所以,建議用戶等待500個區塊後再進行如下步驟。
經過錢包右下角的閃電標誌能夠查看Staking的狀態。
若閃電爲實心,表示正在Staking。將鼠標放到閃電標誌上,能夠看到Staking相關信息,以下圖所示:
Staking
表示正在挖礦;Your weight is
表示當前你正在參與Staking的QTUM數量,單位是1QTUM;Network weight is
表示網絡中正在參與Staking的QTUM數量,單位是1QTUM;Expected time
表示挖到礦的指望時間,單位是天。若閃電爲空心,表示不在Staking。可能的緣由有:
若無閃電標誌,說明禁用了Staking功能
若是用戶順利挖到一個區塊,能夠累積得到超過4QTUM的獎勵。關於挖礦獎勵有如下幾點須要注意:
getbalance
命令查看餘額變化,qt錢包用戶能夠直接看到收入的交易;這一獎勵機制和Qtum採用的MPoS機制有關,有興趣瞭解原理的讀者能夠參考《Qtum區塊鏈指南》。
Qtum錢包會默認開啓Staking,但有些狀況用戶或交易所想要關閉該功能。有如下幾種方式能夠中止Staking:
1 命令行用戶能夠在運行時加上-staking=false
選項,如:
./qtumd -staking=false -daemon
複製代碼
啓動qt錢包的命令:
./qtum-qt -staking=false
複製代碼
2 在配置文件qtum.conf
中添加staking=false
,
3 鎖定錢包,錢包在鎖定狀態下會自動中止Staking。