授权(mining.authorize)与 auth_stratum函数

一、授权(mining.authorize)命令
  矿机收到矿池的订阅响应消息后,接着向矿池发送授权消息,消息内容如下:

  {"id":2,"method":"mining.authorize","params":["zsc.1","x"]}

  params包含两部分,第一部分是矿工名,第二部分是矿工密码(随意)。

  矿池收到矿机的授权消息后,先对矿工名进行验证,矿工名的第一部分(“.”左边的部分)为用户名或子账号名,若该用户名不存在,则授权失败,返回error,消息内容如下:

  {"id":2,"result":null,"error":[29,"Invalid username",null]}

  error中第一部分是错误码,第二部分是错误描述。若授权成功,则返回消息内容如下:

  {"id":2,"result":true,"error":null}

二、auth_stratum函数主要完成mining.authorize解析过程
       1、组装命令,sprintf(s, "{\"id\": %d, \"method\": \"mining.authorize\", \"params\": [\"%s\", \"%s\"]}",
        swork_id++, pool->rpc_user, pool->rpc_pass);

2、发送请求认证命令stratum_send(pool, s, strlen(s))

3、接收矿池消息,sret = recv_line(pool);

4、获取result信息,res_val = json_object_get(val, "result");

5、设置矿池对象属性 ,pool->probed = true;

6、如果有默认难度,向矿池请求设置矿机默认难度

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值