美文网首页区块链研习社区块链大学
SERO挖矿指南——gero挖矿

SERO挖矿指南——gero挖矿

作者: SEROdotCASH | 来源:发表于2019-01-09 17:16 被阅读8次
SERO挖矿指南

本文主要说明如何从二进制包安装SERO并且用之挖矿的过程。要获得更多的信息可以访问我们的产品技术WIKI

奖励计划

SERO一共发行10亿数量的SERO币,其中25%作为社区节点贡献的奖励,也就是说,有2.5亿的SERO币作为SERO矿工挖矿的奖励。挖矿奖励遵循下面这些规则:

  • 奖励计划在10年内发放完毕,每年挖出一定数量的SERO币,直到2.5亿SERO币被挖完。

    由于初期SERO社区网络还比较弱小,因此我们采取这样的策略:

    • 2.5亿SERO币作为一个奖池,矿工成功出块时,按规则从奖池划走相应的SERO币作为奖励.
    • 每产生2,100,000块之后,奖励按之前约1.4倍缩减。
    • 为了激励矿工多打包交易,共识会比较前后两个区块的gas使用量
      • 当前块消耗gas小于等于前一块的时候能得到块奖励的<math><semantics><annotation encoding="application/x-tex">\frac{4}{5}</annotation></semantics></math>54​。
      • 当块消耗gas大于前一块的时候,可以得到块奖励<math><semantics><annotation encoding="application/x-tex">\frac{2}{5}</annotation></semantics></math>52​的额外奖励。
    • 为了确保节点小的时候具备公平性,我们设立一个初始难度值
      • 块的难度如果小于初始值,按照与初始难度的比例发放奖励。
      • 块的难度如果大于等于初始值,按照满额发放奖励。
    • 上述规则会同时产生作用。
  • 从BetaNet-Release版本开始以POW共识挖矿,届时其上的SERO代币会映1:1射到MainNet,而在MainNet上节点维护奖励的发放将遵循SE-Random共识。

    BetaNet的版本

    • RC版本:BetaNet的发布候选版本,距离正式的BetaNet还需要做几个版本的调整,创建的账本会在此RC版本测试结束后被清除掉。
    • Release版本:BetaNet的正式版,会在2019年1月7日24时被部署,后续版本更新的时候不会清除账本。
    `原定2018年12月31日,由于圣诞和元旦的影响,我们觉得延后一周`
    
  • 为了确保网络初期的安全,在BetaNet期间挖矿需要向SERO团队申请许可证。

    申请流程

    • 先运行全节点服务(gero)或者客户端钱包(wallet)
    • 导入或者创建挖矿用户,并获取该用户的公钥地址。
    • 加入SERO在gitter上的miner社区
      这一步可以首先进行,这样你在使用SERO过程中遇到问题,可以在社区中提出。
    • 发邮件给 license@sero.vip ,说明你的情况,并附上你的公钥地址。
    • SERO团队会在48小时内生成公钥地址对应的许可证,并回复你的邮件。

    BetaNet-Releaes版本发布后,会对每个申请做严格的审核。

挖矿步骤

1. 安装SERO

有两种选择可以让你在自己的机器上安装好SERO

  • 一种是安装全节点服务程序(gero),并通过其提供的命令行控制台操作gero
  • 另一种是直接安装客服端钱包(wallet),通过GUI界面进行操作。

注意:本文只说明如何从SERO发布的"二进制程序包"安装gero服务

如果想要从源码安装gero,可以参考

如果想要安装Wallet,可以参考

  • 通过github下载gero最新版本的二进制包。

    读者可以访问链接https://github.com/sero-cash/go-sero/releases下载最新的二进制包。

    在Assets栏目,可以看到不同系统环境对应的二进制包

    • gero-[VERSION]-darwin-amd64.tar.gz 对应64位的MacOS系统
    • gero-[VERSION]-linux-amd64-v3.tar.gz 对应64位linux3内核系统
    • gero-[VERSION]-linux-amd64-v4.tar.gz 对应64位linux4内核系统
    • gero-v0.3.1-beta.rc.5-windows-amd64.zip 对应64位WIN7/WIN8/WIN10系统

    在BetaNet-RC5发布时

    • 最新的Ubuntu & CentOS7发行版默认是Linux3内核
    • 最新的Fedora发行版默认是Linux4内核

    注意:本文是基于CentOS系统,其他系统在二进制包的使用方面是类似的。

    下面下载CentOS7对应的二进制包:

      $ pwd
      /root
    
      $ wget https://github.com/sero-cash/go-sero/releases/download/v0.3.1-beta.rc.5/gero-v0.3.1-beta.rc.5-linux-amd64-v3.tar.gz
    
      $ ls
      gero-v0.3.1-beta.rc.5-linux-amd64-v3.tar.gz
    
      $ tar -xvf gero-v0.3.1-beta.rc.5-linux-amd64-v3.tar.gz
      $ ls
      geropkg gero-v0.3.1-beta.rc.5-linux-amd64-v3.tar.gz
    

    geropkg就是解压出来含有二进制程序的目录,我们看看里面有什么:

      $ ls geropkg
      attach.sh  bin  clean.sh  czero  startup.sh  stop.sh
    

    各个文件说明:

    • czero里面是SERO的零知识证明库
    • bin里面有SERO的主程序gero
    • startup.sh是服务启动脚本
    • stop.sh是停止服务脚本
    • attach.sh是控制台启动脚本
    • clean.sh是清除账本数据脚本
      • 注意:执行后,不会清除keystore目录,但是会重新同步账本数据。
  • 确定datadir

    • SERO第一个重要目录是datadir,它里面放置同步的账本数据
    • 另外一个重要的目录是keystore,它里面放置加密后的账户文件以及挖坑用的license文件,就像下面这样:
    ![](https://img.haomeiwen.com/i277023/d8801c3d87c486e5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    

    为了在今后升级geropkg的时候不会影响已经同步的数据,我们将数据目录独立出来,比如:

      $ mkdir .sero-data
      $ ls -a
      . .. .sero-data geropkg gero-v0.3.1-beta.rc.5-linux-amd64-v3.tar.gz
    
  • 启动gero

    执行startup.sh来启动gero

    startup.sh的启动参数

    ./startup.sh [--datadir DATA_DIR] [--keystore KEYSTORE_DIR]
    

    其中DATA_DIR用来指定datadir位置,KEYSTORE_DIR用来指定keystore目录的位置。

    这个脚本遵循下面的规则

    • 如果不指定keystoregero会将它默认创建在datadir下。
    • 如果不指定datadirgero会默认将它创建在当前目录下。

    我们进入geropkg目录,并确保它下面有log文件目录

      $ cd geropkg
      $ mkdir log
      $ ls
      attach.sh  bin  clean.sh  czero  log  startup.sh  stop.sh
    

    然后执行startup.sh脚本

      $ startup.sh --datadir "../.sero-data"
      /root/geropkg/czero/lib/
      /root/geropkg/bin/gero --datadir=../[datadir] --port 60602
    

    我们可以查看log确定是gero是否运行正常

      $ tail -f log/gero.log
    

    你会看到类似于下面的文本

    只要看到IPC endpoint opened这句话,就说明启动成功了。

2. 创建账户

  • 启动控制台

    通过执行attach.sh来启动控制台

    attach.sh的启动参数

    ./attach.sh [DATA_DIR]
    

    其中DATA_DIR用来指定启动gero时datadir的位置。如果不指定,gero会在默认的位置寻找datadir

      $./attach.sh "../sero-data"
    

    如果看到类似下面的控制台界面,控制台启动就成功了。

  • 创建账户

    现在我们可以开始输入命令创建账户:

    注意:gero控制台支持按[TAB建]补全命令

      > personal.newAccount("123456")
      "4GYNYzECNovCniXiYi1VV58vk97U1vWF7KfSRJCTFVv95kbdVhWYX4kjkcYBpw2zzfDZfaeEqB8YhANGDGFkG3SP"
    

    newAccount 函数输入值你设定的密码,请记好该密码,丢失后将失去账户的控制权,且无法寻回。返回值是被创建账户的公钥地址PK

    PK 可以安全的交给另一方作为转账接收地址

    如果要查看本节点创建的账户,可以调用下面的指令获取所有账户的公钥:

      > sero.accounts
      ["4GYNYzECNovCniXiYi1VV58vk97U1vWF7KfSRJCTFVv95kbdVhWYX4kjkcYBpw2zzfDZfaeEqB8YhANGDGFkG3SP"]
    

    为了安全,账户创建之后,5分钟不使用会被锁定,如果出现账户被锁定的提示,需要输入密码解锁账户。

      > sero.sendTransaction(...)
      Error: authentication needed: password or unlock
    
      > personal.unlockAccount(sero.account[0],"123456")
      true
    

    注意:挖矿所得的奖励默认会进入当前节点第一个创建的账户中,也就是 sero.account[0] 代表的账户中。

    退出控制台的命令是:

      > exit
    

3. 安装挖矿许可证

接下来我们需要向SERO团队申请许可证,需要进行下面几个步骤:

  • 加入SERO的gitter社区

    社区的链接是
    https://gitter.im/sero-cash/miner

    gitter 是 github.com 免费的即使通讯工具,跟 github 具有很好的集成度,可以通过 github/gitlab/twitter 账号登录。关于miner的一些重要通知会在这儿发布。

  • 发申请邮件

    上面已经生成了账户,请将sero.account[0]的公钥PK通过邮件发送给 license@sero.vip ,并说明你的情况。

    注意:公钥可以作为资产接受地址,提供给第三方生成交易,泄露公钥并不会泄露你在SERO的信息。

  • 安装许可证

    SERO团队在48小时内会为你生成BetaNet的挖矿许可证,并回信给你。


    回信中,你的许可证在正文和附件中各有一份,这两份是一致的。

    你需要在keystore目录下创建license目录,然后将许可证文件BLIC.DATA拷贝到这个目录下。

      $ cd ../datadir
      $ mkdir keystore/license
      $ echo "1169..[IGNORE]..51a85" > keystore/license/BLIC.DATA
    

    现在许可证已经安装好了

    安全性说明:
    许可证是根据你的挖矿的公钥生成的,不同公钥生成的许可证不一样。在挖矿的时候,会利用许可证进行零知识证明,每次生成的证明都不一样。因此:

    • 许可证并不会暴露在区块中。
    • 共识会检查你产生的区块是不是得到许可。
    • 只要不泄露你的跟踪秘钥TK和私钥SK,泄露许可证和公钥是安全的。
      • 不会泄露作为矿工的身份。
      • 其他用户也无法使用你的许可证。

4. 开始挖矿

现在就可以开始愉快的挖矿了,让我们再次进入控制台,然后开启挖矿:

> miner.start()

停止挖矿的指令:

> miner.stop()

查看是否正在挖矿的指令:

> sero.mining
true

返回true代表正在挖矿

查看当前区块高度:

> sero.blockNumber
32165

查看你是否挖到SERO:

> sero.getBalance(sero.account[0])
{
  tkn: {
    SERO: 2.03085359120665e+22
  }
}

上面的单位是Ta (1 SERO = 10^{18}10 18 Ta),转为SERO单位可以调用:

注/> web3.fromTa(2.03085359120665e+22)
"20308.5359120665"

5. 最后

基本的从二进制包安装开始的挖矿过程就到这儿了,如果想要详细的了解SERO的原理或者详细的操作教程,可以访问我们的官网下载白皮书,或者访问我们的产品技术WIKI

了解SERO更多信息

如果对SERO的原理和零知识证明算法感兴趣,可以在SERO的官网下载我们的白皮书。有任何建议也可以发送电子邮件到 gordon@sero.vip 咨询。

欢迎加入SERO的gitter社区,一起将SERO变得更好!

[官网] https://sero.cash](https://sero.cash]%28https//sero.cash))

[白皮书 V1.0.6] http://sero-media.s3-website-ap-southeast-1.amazonaws.com/Sero_ENG_V1.06.pdf

[SERO官方WIKI] https://wiki.sero.cash/zh/index.html?file=home-Home

[Twitter] https://twitter.com/SEROdotCASH

[Telegram] https://t.me/SeroOfficial

[Github] https://github.com/sero-cash/go-sero

[Gitter Community] https://gitter.im/sero-cash/Lobby?utm_source=share-link&utm_medium=link&utm_campaign=share-link

[SERO区块浏览器] https://explorer.web.sero.cash/blocks.html

[SERO智能合约编辑器] https://remix.web.sero.cash/

[SERO介绍视频] https://v.qq.com/x/page/s0792e921ok.html

[SERO vs Zcash加密速度对比] https://v.qq.com/x/page/r0796jotef8.html

相关文章

  • SERO挖矿指南——gero挖矿

    本文主要说明如何从二进制包安装SERO并且用之挖矿的过程。要获得更多的信息可以访问我们的产品技术WIKI。 奖励计...

  • 全民挖矿——之SERO钱包挖矿指南

    1.安装钱包 下载地址 :https://github.com/sero-cash/wallet/releases...

  • 【教程】SERO钱包使用手册

    标签:SERO 超零协议 零知识证明 智能合约 隐私保护 钱包 SERO钱包下载 SERO钱包挖矿 01关于SER...

  • 挖矿-我的人生哲学

    我的人生哲学就是挖矿,这是我一切思想和行为的指南。 挖矿,谁挖矿,矿是什么,什么是挖,怎么挖,为什么要挖。 谁挖矿...

  • 【挖矿教程】如何用cminer连接gero进行SOLO挖矿

    为什么需要用cminer挖矿? 很多矿工都抱怨使用wallet全节点挖矿不稳定,经常崩溃或者掉线,这是因为: 当前...

  • 力场的挖矿

    在力场,我们都是矿工,嘿哟嘿哟地进行着挖矿。 挖矿,我们都不陌生,有写文挖矿,权益挖矿,交易挖矿,算力挖矿等等,挖...

  • 2019-02-11

    MGK 玩法 教程 指南 挖矿 钱包 去中心化交易所 深度分析 最近,互联网上最火的话题是什么?答曰:挖矿。有些同...

  • 王兴武:“消费即挖矿”,不是一个好的机制。

    在交易即挖矿后,出现了大量的行为即挖矿机制,比如消费即挖矿、阅读即挖矿、分享即挖矿等。 消费即挖矿,分两种情况。 ...

  • IOTA挖矿指南

    大家看到文章题目时,肯定很困惑,IOTA还能挖矿吗?现在能挖矿的DAG不就只有xDag吗?其实IOTA也能挖矿,具...

  • Hashdice挖矿指南

    本文将向你介绍Hashdice挖矿的基本规则与奖励机制 1.基本挖矿规则 下注即挖矿。玩家在游戏中进行投注,即可按...

网友评论

    本文标题:SERO挖矿指南——gero挖矿

    本文链接:https://www.haomeiwen.com/subject/rxvgrqtx.html