摘要: 一、简介 BlockServer将StratumServer发送的solvedshare数据(块头和coinbase交易)与GbtMaker发送的rawgbt数据(其他交易)一起组装成一个块,然后通过submitblock rpc接口提交给比特币节点,节点再将该块广播到区块链上。 二、处理rawgb 阅读全文
posted @ 2019-04-27 10:40 perimeter 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 一、简介 StratumServer(简称sserver)接收JobMaker发送的stratumjob消息,从http api获取用户列表,对外部矿机提供服务。 二、处理stratumjob消息 sserver从kafka消息队列中接收JobMaker发送的StratumJob消息。先判断该Job 阅读全文
posted @ 2019-04-26 17:50 perimeter 阅读(578) 评论(0) 推荐(0) 编辑
摘要: 一、简介 矿机(或挖矿软件)与矿池之间通过stratum协议通讯,它包括订阅、授权、下发难度、下发任务、提交share五种消息。 二、订阅(mining.subscribe) 矿机启动后,先和矿池建立TCP连接,然后向矿池发送订阅消息,消息内容如下: {"id":1,"method":"mining 阅读全文
posted @ 2019-04-26 12:07 perimeter 阅读(3706) 评论(0) 推荐(0) 编辑
摘要: 一、简介 JobMaker从kafka消息队列接收rawgbt消息,然后解码该消息中的gbt数据,生成Job,发送到kafka消息队列。 二、StratumJob结构 StratumJob结构是JobMaker的核心数据结构,其字段如下: 三、coinbase交易 The first transac 阅读全文
posted @ 2019-04-25 10:02 perimeter 阅读(490) 评论(0) 推荐(0) 编辑
摘要: 一、简介 GbtMaker全称getblocktemplate maker,它通过getblocktemplate rpc接口从bitcoind获得挖矿所需数据,然后把该数据发送到kafka消息队列。 二、btc块头结构 GbtMaker从bitcoind获取的数据包含两部分,一是用于生成块头的数据 阅读全文
posted @ 2019-04-23 10:37 perimeter 阅读(716) 评论(0) 推荐(0) 编辑
摘要: 一、架构图 二、模块划分 整个btcpool分成GbtMaker、BlockMaker、JobMaker、StratumServer、PoolWatcher、statshttpd、sharelogger及slparser这几部分,各模块之间通过kafka消息队列通讯。 三、GbtMaker GbtM 阅读全文
posted @ 2019-04-19 17:17 perimeter 阅读(723) 评论(0) 推荐(0) 编辑