btcpool礦池原始碼分析(6)-PoolWatcher模組解析
# 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流程圖
## 參考文件
* [Libevent程式設計中文幫助文件](http://blog.csdn.net/zhouyongku/article/details/53431597/)
* [libevent庫介紹--事件和資料緩衝](https://www.cnblogs.com/liunianshiwei/p/6059232.html)
網址:http://www.qukuailianxueyuan.io/
欲領取造幣技術與全套虛擬機器資料
區塊鏈技術交流QQ群:756146052 備註:CSDN
尹成學院微信:備註:CSDN
網址:http://www.qukuailianxueyuan.io/
欲領取造幣技術與全套虛擬機器資料
區塊鏈技術交流QQ群:756146052 備註:CSDN
尹成學院微信:備註:CSDN
相關文章
- btcpool礦池原始碼分析(6)-nmcauxmaker模組解析TCP原始碼UX
- btcpool礦池原始碼分析(3)-BlockMaker模組解析TCP原始碼BloC
- btcpool礦池原始碼分析(5)-JobMaker模組解析TCP原始碼
- btcpool礦池原始碼分析(9)-statshttpd模組解析TCP原始碼httpd
- btcpool礦池原始碼分析(10)-StratumServer模組解析TCP原始碼Server
- btcpool礦池原始碼分析(4)-GbtMaker模組解析TCP原始碼
- btcpool礦池原始碼分析(7)-sharelogger模組解析TCP原始碼
- btcpool礦池原始碼分析(8)-slparserTCP原始碼
- btcpool礦池原始碼分析(1)環境搭建TCP原始碼
- open-ethereum-pool以太坊礦池原始碼分析(6)-redis模組原始碼Redis
- btcpool礦池原始碼分析(2)-核心機制總結及優化思考TCP原始碼優化
- open-ethereum-pool以太坊礦池原始碼分析(3)payouts模組原始碼
- open-ethereum-pool以太坊礦池原始碼分析(4)-policy模組原始碼
- open-ethereum-pool以太坊礦池原始碼分析(5)proxy模組原始碼
- open-ethereum-pool以太坊礦池原始碼分析(7)unlocker模組原始碼
- go-ethereum原始碼解析-miner挖礦部分原始碼分析CPU挖礦Go原始碼
- Django(49)drf解析模組原始碼分析Django原始碼
- open-ethereum-pool以太坊礦池原始碼分析(2)API分析原始碼API
- (一) Mybatis原始碼分析-解析器模組MyBatis原始碼
- 比特幣原始碼分析:VersionBits模組解析比特幣原始碼
- open-ethereum-pool以太坊礦池原始碼分析(1)-main入口分析原始碼AI
- ThinkPHP6 原始碼分析之解析 RequestPHP原始碼
- 以太坊原始碼分析(42)miner挖礦部分原始碼分析CPU挖礦原始碼
- Swoole 原始碼分析——記憶體模組之記憶體池原始碼記憶體
- 以太坊交易池原始碼解析原始碼
- open-ethereum-pool以太坊礦池原始碼分析(1)環境安裝原始碼
- 以太坊原始碼分析(16)挖礦分析原始碼
- MOSN 原始碼解析 - 連線池原始碼
- webpack核心模組tapable原始碼解析Web原始碼
- Spark原始碼解析之Storage模組Spark原始碼
- 比特幣挖礦與原始碼解析比特幣原始碼
- 執行緒池原始碼分析執行緒原始碼
- 以太坊交易池原始碼分析原始碼
- 以太坊原始碼分析(26)core-txpool交易池原始碼分析原始碼
- Framework 原始碼解析知識梳理(6) ContentProvider 原始碼解析Framework原始碼IDE
- SOFARegistry 原始碼|資料同步模組解析原始碼
- dubbo原始碼-執行緒池分析原始碼執行緒
- Zepto原始碼分析之form模組原始碼ORM