当前位置:首页 » 矿机知识 » dcc矿池

dcc矿池

发布时间: 2023-06-06 14:50:43

以太坊stratum协议原理

参照比特币的 stratum协议 和 NiceHash的stratum协议规范 编写了一版以太坊版本的stratum协议说明.

stratum协议是目前最常用的矿机矿池之间的TCP通讯协议。

以太坊是一个去中心化的网络架构,通过安装Mist客户端的节点来转发新交易和新区块。而矿机、矿池也同时形成了另一个网络,我们称之为矿工网络。

矿工网络分成矿机、矿池、钱包等几个主要部分,有时矿池软件与钱包安装在一起,可合称为矿池。

矿机与矿池软件之间的通讯协议是 stratum ,而矿池软件与钱包之间的通讯是 bitcoinrpc 接口。

stratum是 JSON 为数据格式.

矿机启动,首先以 mining.subscribe 方法向矿池连接,用来订阅工作。

矿池以 mining.notify 返回订阅号、ExtraNonce1和ExtraNonce2_size。

Client:

Server:

其中:

是 订阅号 ;

080c是 extranonce ,Extranonce可能最大3字节;

矿机以 mining.authorize 方法,用某个帐号和密码登录到矿池,密码可空,矿池返回 true 登录成功。该方法必须是在初始化连接之后马上进行,否则矿机得不到矿池任务。

Client:

Server:

难度调整由矿池下发给矿机,以 mining.set_difficulty 方法调整难度, params 中是难度值。
Server:

矿机会在下一个任务时采用新难度,矿池有时会马上下发一个新任务并且把清理任务设为true,以便矿机马上以新难度工作。

该命令由矿池定期发给矿机,当矿机以 mining.subscribe 方法登记后,矿池应该马上以 mining.notify 返回该任务。

Server:

任务ID : bf0488aa ;

seedhash : 。每一个任务都发送一个seedhash来支持尽可能多的矿池,这可能会很快地在货币之间交换。

headerhash : 。

boolean cleanjobs : true 。如果设为true,那么矿工需要清理任务队列,并立即开始从事新提供的任务,因为所有旧的任务分享都将导致陈旧的分享错误。如果是 false 则等当前任务结束才开始新任务。

矿工使用seedhash识别DAG,然后带着headerhash,extranonce和自己的minernonce寻找低于目标的share(这是由提供的难度而产生的)。

矿机找到合法share时,就以” mining.submit “方法向矿池提交任务。矿池返回true即提交成功,如果失败则error中有具体原因。

Client:

任务ID : bf0488aa

minernonce : 6a909d9bbc0f 。注意minernonce是6个字节,因为提供的extranonce是2个字节。如果矿池提供3字节的extranonce,那么minernonce必须是5字节

Server:

一般的矿机与矿池通讯过程就如下所示:

热点内容
挖矿赚比特币APP 发布:2025-05-16 01:25:32 浏览:784
公司设立比特币矿机服务 发布:2025-05-16 01:21:15 浏览:979
法定获取数字货币 发布:2025-05-16 01:15:21 浏览:925
公司搬去市中心了 发布:2025-05-16 01:08:59 浏览:386
常用的几种数字货币 发布:2025-05-16 00:37:59 浏览:566
区块链技术与短视频相结合 发布:2025-05-16 00:27:07 浏览:327
币圈搬砖利器 发布:2025-05-16 00:26:59 浏览:809
btc为什么一文不值 发布:2025-05-16 00:09:07 浏览:155
百度智能云区块链产品负责人 发布:2025-05-15 23:10:48 浏览:573
数字货币先交税后提现 发布:2025-05-15 23:05:50 浏览:310