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。