• 注册
  • 墨客挖矿 墨客挖矿 关注:24 内容:67

    【教程】墨客子链SCS挖矿

  • 查看作者
  • 打赏作者
  • 拉黑名单
    • 墨客挖矿
    • 大版主
      墨客战士

      北京时间8月10日,墨客区块链底层节点更新到Nuwa v1.0.5,墨客子链(MicroChain)功能全面正式上线。

      本文介绍:墨客子链SCS软件节点的安装与配置。SCS硬件盒子挖矿请参考自带说明书。

      windows版本适用于64位/32位Windows 7及以上系统。

      本文实际操作环境为:64位Windows 10 中文版。

       

      1.下载SCS软件

      解压下载的软件包nuwa1.0.5.win.zip到本地硬盘。目录下包含两个文件夹和一个readme文件。

      【教程】墨客子链SCS挖矿

      说明:

      scs:子链节点程序,里面有3个文件;分别是64位执行程序scsserver-windows-4.0-amd64.exe、32位执行程序scsserver-windows-4.0-386.exe和配置文件userconfig.json;

      vnode:主链节点程序,里面有5个文件;分别是64位执行程序moac-windows-4.0-amd64.exe、32位执行程序moac-windows-4.0-386.exe、配置文件vnodeconfig.json、部分功能代码mctest.js和说明文档README.txt;

       

      2.配置userconfig.json

      内容主要包括:

      {

          "VnodeServiceCfg": "localhost:50062",

          "DataDir": "./scsdata",

          "LogPath": "./_logs",

          "Beneficiary": "0xD814F2ac2c4cA49b33066582E4e97EBae02F2aB9",

          "VnodechainId": 101,

          "Capability": 10,

          "ReconnectInterval": 5,

          "LogLevel": 4,

          "BondLimit":2,

          "ReWardMin":0.0001

      }

      VnodeServiceCfg:这个SCS需要连接的VNODE IP地址和端口。每个SCS需要连接到一个VNODE来进行通讯,才能与母链进行通信。你可以自己建一个本地VNODE节点,或者连接到一个官方的可信任的VNODE。如果是本地节点,配置“localhost:50062”;

      DataDir:SCS数据目录,以子链地址为文件夹存放子链数据。默认配置 "./scsdata";

      LogPath:SCS日志目录,以天为单位存放日志。 默认配置"./logs";

      Beneficiary:矿工收益账号。为了安全起见,建议采用与scsid不同的账号用来获取子链挖矿的收益;

      VnodeChainId:母链的网络ID。当前墨客测试网 testnet 是 101,主网 mainnet 是 99,请按需设置。如果是自建一个网络,要确保你的vnode连接到了同样的网络ID;

      Capability: 此SCS服务器可以加入的appChains数量,默认为10;

      ReconnectInterval: 如果SCS跟vnode之间的连接丢失,SCS将试图重新连接vnode。该参数以秒为单位,设置与vnode连接的间隔;

      LogLevel: 输出日志的级别: 0=silent, 1=error, 2=warn, 3=info, 4=debug, 5=detail (default: 3);

      BondLimit: 加入一个appChain的最低存款额,以moac为单位,默认为每个appChain 2 moac; 如果appChain的要求高于这个限制,那么SCS不会加入;

      ReWardMin: 子链每个区块的最小奖励额度。 SCS可以通过设置该参数,以加入能得到更高奖励额度的子链。

       

      3.启动SCS

      启动命令及参数:

      C:\nuwa1.0.5.win\win\scs>scsserver -p [password]      //Start SCS with a password for the scsid keystore,default password is "moacscsofflineaccountpwd"

      C:\nuwa1.0.5.win\win\scs>scsserver -rpcaddr [addr]    //SCS start with rpc ip

      C:\nuwa1.0.5.win\win\scs>scsserver -rpcport [port]    //SCS start with rpc port

      第一次启动后,SCS将会在当前目录下生成一个keystore目录,并在目录中新建一个账号,这个账号就是scsid。可在第一次启动时使用-p设置密码,没有设置则使用默认密码。

      注意:

      scsid用于注册SCS,不要使用该账号接收SCS挖矿收益。

      scsid账号可以接收墨客,在正式使用前需要用户给该地址发送1个墨客,用于与vnode进行数据交换的gas费。

      如果想换一个scsid,则需要删除keystore中的内容重新启动。

      SCS的rpc功能是提供给DAPP用户查询用的(MONITOR),如果是矿工,可以不开启这个功能。

      可以根据实际需要,按照以上步骤重新启动一个或多个SCS,单台电脑建议启动不超过3个SCS。

       

      4.将SCS注册到SCS池子中去

      SCS根据子链矿池智能合约subchainProtocolBase进行注册,并缴纳保证金。

      只要性能允许,一个SCS可以参与多个子链矿池的注册;在交纳足够的保证金后,也可以为多个子链服务。

      注册子链协议Javascript方法(保存为文件scsRegister.js):

      var Chain3 = require('chain3');

      var chain3 = new Chain3(new Chain3.providers.HttpProvider('http://localhost:8545'));

      //scs注册

      console.log('SCS Register start!');

      var baseAddr = "0x7610fd66c272332edd59a43460ad24eee1973bfe";

      var basePasswd = "password";

      var protocolAddr = "0x225Ebb0b9DF76E3D48eA0614943340611f635EA0";

      var scsAddr = "755a37ec5ba302cd0022af2b8e3ff97c1996601b";    //不带0x开头

      chain3.personal.unlockAccount(baseAddr, basePasswd,0);

      sendtx(baseAddr, protocolAddr, '5','0x4420e486000000000000000000000000' + scsAddr);

      function sendtx(src, tgtaddr, amount, strData) {

          chain3.mc.sendTransaction(

              {

                  from: src,

                  value:chain3.toSha(amount,’mc’),

                  to: tgtaddr,

                  gas: "9000000",

                  gasPrice: chain3.mc.gasPrice,

                  data: strData

              });

          console.log('sending from:' +   src + ' to:' + tgtaddr  + ' with data:' + strData);

      }

      主要参数如下:

      baseAddr、basePasswd:主网的一个账户及其密码,付出本次交易的gas费及SCS注册所需的押金(本例5mc);

      protocolAddr:公开的子链矿池合约subchainProtocolBase地址;

      scsAddr:scsid地址,放在“…/scsserver/scskeystore”目录下;

      amount:注册mc数量,本例子中为5mc,此处必须大于矿池合约的设置值。scs提交押金越多,能参与的子链越多。

      strData:‘0x4420e486’是子链矿池合约subchainProtocolBase中‘register(address scs)’通过hash算法Keccak256得到前4个字节;该函数带一个参数,每个参数占用32个字节,地址20字节,不足32字节则前补12字节00。这里不用修改。

      特别注意:scsAddr的地址不要加上“0x”。

      在文件目录下执行该注册文件scsRegister.js:

      C:\nuwa1.0.5.win\win\scs>node scsRegister.js

      在等待一定时间之后(通常是主链50个block),就进入子链矿池,成为子链的候选SCS节点。注册后,保证金会从baseAddr账号转到子链矿池合约账号。

      注册时缴纳的保证金,将在SCS被选中服务子链的时候临时扣除。

      参与的每一个子链,在子链flush的时候会发放奖励,就是子链挖矿所得,自动在收益账号Beneficiary体现。

      ————————————————

      版权声明:本文为CSDN博主「Li_Yu_Qing」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

      原文链接:https://blog.csdn.net/lyq13573221675/article/details/81624434

      请登录之后再进行评论

      登录
    • 做任务
    • 实时动态
    • 偏好设置
    • 返回顶部
    • 帖子间隔 侧栏位置: