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。

相关文章
相关标签/搜索