位元幣挖礦 集群礦池btcpool

2021-08-10 00:04:16 字數 3046 閱讀 4631

btcpool乙個集群的解決方案,它使用了mysql資料庫,web服務,kafka,zookeeper,據說可以控制100000礦機。**中邏輯和安裝說明都比較完整,但還需要一些編寫一些web介面做ui支援。配好之後就和其它大礦池差不多了。

挖礦的雜湊碰撞需要大量計算,由礦機實現。而拆分整合運算量,分配任務,在礦機多的情況下也需要大量的算力支援。btcpool是乙個去中心化集群的解決方案(礦池內部去中心,對外自成體系)。n個礦機連乙個控制板,控制板接入網路,通過埠連伺服器,伺服器再把拆分運算量的工作分擔給礦池內的多台伺服器同時計算。

它的主旨就是整套系統切分成功能塊,塊與塊之間用使用kafka傳遞資料和資訊,後台由zookeeper負載均衡,從而使不同的功能塊執行在不同的伺服器上。像錢包和mysql這種頻率使用的公用資料放在另外的伺服器上,各功能塊通過rpc,zmp等方式訪問它們。

其中最核心的程式是sserver,礦機控制板連線的就是該程式。它支援stratum協議。現在一般的位元幣礦池都支援兩種協議:getwork、stratum。getwork比較方便也非常好理解,直接連線到礦池挖礦。stratum協議是乙個挖礦**,先通過電腦穩定連線礦池,然後挖礦機連線到電腦上,通過電腦中轉挖礦結果和接收新的block,因為有電腦作為中轉,相對來說挖礦過程比較穩定。

2) 安裝

btcpool原始碼裡,雖然沒有什麼文件,但是readme和install裡面寫得很清楚。

$ su  #install指令碼裡,指定了/root等絕對路徑,最好切換成root安裝

$ unzip btcpool-master.zip

$ cd btcpool-master/install

$ cd /work/btcpool/build

$ bash ../install/init_folders.sh

3) 注意事項

i. /work/btcpool/build/run_***/***.cfg檔案必須根據具體資訊修改,先安裝好支援軟體,最後修改配置檔案。

ii. 集群的搭建方法必須按btcpool/docs/install*.md來操作,因為有一些重要引數,比如broker.id,max.size等等需要調整,如按一般方法安裝,除錯起來非常麻煩。

iii. 盡量不要變更目錄,很多路徑都是寫死的

iv. 核心演算法在src/bitcoin目錄下,它編出來的是乙個靜態庫,其它的可執行程式呼叫它。

主要負責負載均衡。安裝kafka的說明書在/work/btcpool/docs/ install- zookeeper.md中,最好按它的步驟配置,否則除錯可能很麻煩。zookeeper原理及除錯方法見上篇《位元幣挖礦——建立kafka&zookeeper集群》

主要負責訊息傳送。安裝kafka的說明書在/work/btcpool/docs/ install-kafka.md中,一定要按它的要求修改配置檔案,如果一開始配置錯誤,後對除錯很麻煩。具體原理及除錯方法見上篇《位元幣挖礦——建立kafka&zookeeper集群》

建topic操作見install.md指令碼

安裝

$ apt-get install mysql-client

$ apt-get install mysql-server

建庫

$ mysql

> create database bpool_local_db; # 這兩個庫在.cfg中設定

> create database bpool_local_stats_db;

> exit

其它操作見install.md指令碼

安裝

$ apt install apache2
需要寫乙個php,能輸入如下內容

}
它與礦工連上來的使用者名稱對應。

1) 說明

它負責管理後台程序,服務一般要長時間執行,它負責監測程序狀態,在死掉時重啟服務等等,其中的配置檔案conf用於指定具體的程式及引數。

2) 安裝

$ apt-get install supervisor # 這是後台程序管理用的
將需要啟動的服務配置寫成conf檔案複製到/etc/supervisor/conf.d下即可,其它操作見install.md指令碼

3) 常用命令

$ supervisorctl

> reread

> update

> status # 檢視狀態

> restart ***x # 可選擇重啟某乙個

其它$ supervisorctl start ***

$ supervisorctl stop ***

1) 自帶的測試工具simulator
$ cd /work/btcpool/build/run_simulator

$ ./simulator -c simulator.cfg -l /tmp/log

2) 模擬礦機連線
minerd -o stratum+tcp: -o jack:1
注意這裡的使用者名稱要和http服務上的匹配

1) 一般除錯過程如下:

i. 所有程式正常執行,不退出,不報錯,不卡往。

ii. 礦機能連上礦池,能分配到工作,開始計算。

iii. 資料庫中出現使用者登入的記錄。

iv. 資料庫中的各項資料都顯示正常。

v. 程式設計師做一些監控統計的工具,供一般使用者使用。

2) 除錯說明:

i. 首先要根據具體情況修改各個.cfg檔案

ii. 除錯時,可以先不使用supervisorctl,直接呼叫/work/btcpool/build/run*中的程式,具體引數見對應的conf程式

iii. 建議從核心程式開始乙個乙個除錯。預設有很多log檔案,裡面顯示了具體程式出錯的位置。除錯的順序是blkmaker->gbtmaker->jobmaker->sserver->其它

iv. 整合最重要的是配置檔案和軟體版本,配完後最好對其進行記錄和備份

v. 綜上,btcpool提供了乙個工作框架,真正用起來還需要做很多任務作。

位元幣挖礦 p2pool礦池

相對於大礦和單機挖礦,p2pool是乙個折中的解決方案,當你有些礦機,計算量不足以自營礦廠,同時又不想加入其它礦廠被盤剝,p2pool讓你可以和更多礦工聯合,通過演算法把運算量組織起來。當然與其它pool的互動也會占用一些資源。p2pool相對簡單,網上教程也多。它是乙個去中心的礦池。也就是說不但區...

位元幣網路挖礦難度大幅上調,OKEx礦池魅力何在?

據火星財經訊息,6 月 17 日零時 51 分左右,位元幣網路挖礦難度在區塊高度 635040 處完成全網難度調整,難度上調14.95 至15.78t,系 2018 年 1 月以來最大一次難度上調。資料顯示,在 312 後,位元幣網路挖礦難度於 3 月 26 日迎來史上第二大下調幅度,降幅達15.9...

位元幣挖礦難度飆公升,OKEx研究員解讀礦池優勢

據火星財經訊息,6 月 17 日零時 51 分左右,位元幣網路挖礦難度在區塊高度 635040 處完成全網難度調整,難度上調14.95 至15.78t,系 2018 年 1 月以來最大一次難度上調。資料顯示,在 312 後,位元幣網路挖礦難度於 3 月 26 日迎來史上第二大下調幅度,程式設計客棧降...