# btcpool矿池-PoolWatcher模块解析

## 核心机制总结

* 监听StratumJob,更新poolStratumJob_,用于和第三方矿池比对
* 作为client连接第三方矿池,如收到挖矿任务,仅当接收的job高度=本地矿池job高度+1时,将构造EmptyGBT
* 如下几种情况将丢弃从第三方矿池接收的job:
    * job高度与本地矿池job高度相同
    * job高度不等于本地矿池job高度+1,高度跳跃太大
    * nBits与本地矿池job nBits不同

## PoolWatcher命令使用

PoolWatcher,用于监控第三方矿池并获取挖矿模板,发送给kafka。

```shell
poolwatcher -c poolwatcher.cfg -l log_poolwatcher
#-c指定poolwatcher配置文件
#-l指定日志目录
```

## poolwatcher.cfg配置文件

```shell
//是否使用testnet
testnet = true;

//第三方stratum server列表
pools = (
//蚁池
{
name = "antpool";
host = "stratum.antpool.com";
port = 3333;
worker = "worker.miner";
},
//鱼池
{
name = "f2pool";
host = "stratum.f2pool.com";
port = 3333;
worker = "worker.miner";
},
//国池
{
name = "btcc";
host = "stratum.btcchina.com";
port = 3333;
worker = "worker.miner";
}
);

//kafka集群
kafka = {
brokers = "1.1.1.1:9092,2.2.2.2:9092,3.3.3.3:9092";
};
```

## PoolWatcher流程图

btcpool矿池源码分析(6)-PoolWatcher模块解析

## 参考文档

* [Libevent编程中文帮助文档](http://blog.csdn.net/zhouyongku/article/details/53431597/)
* [libevent库介绍--事件和数据缓冲](https://www.cnblogs.com/liunianshiwei/p/6059232.html)





btcpool矿池源码分析(6)-PoolWatcher模块解析btcpool矿池源码分析(6)-PoolWatcher模块解析

网址:http://www.qukuailianxueyuan.io/

btcpool矿池源码分析(6)-PoolWatcher模块解析

btcpool矿池源码分析(6)-PoolWatcher模块解析

欲领取造币技术与全套虚拟机资料

区块链技术交流QQ群:756146052  备注:CSDN

尹成学院微信:备注:CSDN

btcpool矿池源码分析(6)-PoolWatcher模块解析



btcpool矿池源码分析(6)-PoolWatcher模块解析btcpool矿池源码分析(6)-PoolWatcher模块解析

网址:http://www.qukuailianxueyuan.io/

btcpool矿池源码分析(6)-PoolWatcher模块解析

btcpool矿池源码分析(6)-PoolWatcher模块解析

欲领取造币技术与全套虚拟机资料

区块链技术交流QQ群:756146052  备注:CSDN

尹成学院微信:备注:CSDN

btcpool矿池源码分析(6)-PoolWatcher模块解析

相关文章:

  • 2021-10-17
  • 2021-04-26
  • 2021-12-15
  • 2021-04-13
  • 2022-01-14
  • 2021-05-21
  • 2021-11-23
  • 2022-12-23
猜你喜欢
  • 2021-05-02
  • 2021-05-03
  • 2021-06-02
  • 2021-10-26
  • 2021-04-08
  • 2021-12-17
  • 2021-05-16
相关资源
相似解决方案