主页 > imtoken苹果钱包 > 比特币挖矿-集群矿池btcpool

比特币挖矿-集群矿池btcpool

imtoken苹果钱包 2023-01-18 18:04:20

1 简介

btcpool的一个集群方案,使用了mysql数据库、web服务、kafka、zooKeeper,据说可以控制10万台矿机。 代码中的逻辑和安装说明都比较完整,但是需要写一些web界面来做UI支持。 匹配后,与其他大型矿池相差无几。 挖矿哈希碰撞需要大量的计算,由矿机实现。 但是在矿机多的情况下,拆分整合计算和分配任务也需要大量的算力支持。 Btcpool是一个去中心化的集群方案(矿池内部去中心化,外部自成体系)。 N台矿机连接一个控制板,控制板连接网络,通过端口连接服务器,服务器再将计算量的拆分工作分发给矿池中的多台服务器同时计算. 它的大意是将整个系统划分为功能块,块之间使用Kafka传递数据和信息,后台通过zooKeeper进行负载均衡,让不同的功能块运行在不同的服务器上。 钱包、mysql等常用的公共数据放在另一台服务器上,各功能块通过rpc、zmp等方式访问。核心程序是sserver,与矿机控制板相连。 它支持 Stratum 协议。 现在一般的比特币矿池支持两种协议:getwork和stratum。 Getwork更加方便易懂。 直接连接矿池进行挖矿。 层协议是一个挖矿代理。 首先电脑稳定连接矿池,然后矿机连接电脑,通过电脑传输挖矿结果,接收新区块。 因为有电脑作为中转,所以挖矿过程比较快。 稳定。

2. btcpool (核心工具) 1) 下载 2) 安装

在btcpool源码中,虽然没有文档,但是README和INSTALL里写的很清楚。

$ su #在安装脚本中,指定一个绝对路径如/root,最好切换到root安装 $ unzip btcpool-master.zip$ cd btcpool-master/install$ 。 install_btcpool.sh #第一次安装,从git下载一些辅助软件(一次连不上可以多连几次),有效保证版本匹配,数据下载安装在/root/sources和工作/。 有关详细信息,请参阅 INSTALL.md。 $ cd /work/btcpool/build$ bash ../install/init_folders.sh 3) 注释

一世。 /work/btcpool/build/run_xxx/xxx.cfg文件要根据具体信息修改,先安装配套软件,最后修改配置文件。 二. 集群搭建方法一定要按照btcpool/docs/INSTALL*.md来操作自建比特币矿池,因为有一些重要的参数,比如broker.id,max.size等需要调整。 如果按照一般的方法安装,调试起来会很麻烦。 三. 尽量不要更改目录,很多路径都是硬编码的 iv。 核心算法在src/bitcoin目录下,编译为静态库,供其他可执行程序调用。

3. ZooKeeper(依赖工具)

主要负责负载均衡。 安装 Kafka 的说明在 /work/btcpool/docs/INSTALL-ZooKeeper.md 中。 最好按照它的步骤进行配置,否则调试可能会很麻烦。 ZooKeeper的原理和调试方法见上一篇《比特币挖矿-搭建Kafka&Zookeeper集群》

4. Kafka(依赖工具)

主要负责消息传递。 安装 Kafka 的说明在 /work/btcpool/docs/INSTALL-Kafka.md 中。 请务必根据其要求修改配置文件。 如果一开始配置不对,后面调试起来会很麻烦。具体原理和调试方法见上一篇文章《比特币挖矿-搭建Kafka&Zookeeper集群》创建主题操作见INSTALL.md脚本

5、mysql数据库(依赖工具)安装 $ 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脚本

6、http服务器Apache2(依赖工具) 安装$apt install apache2,需要写一个php,输入以下内容即可 {"err_no":0,"err_msg":null,"data":{"杰克”:1,“特里”:2}}

它对应于矿工连接的用户名。

7.zeromq(辅助工具)

ZeroMQ 看起来像一个可嵌入的网络库自建比特币矿池,但实际上就像一个并发框架。 它提供各种传输设施,如用于进程内、进程间、TCP 和多播的原子消息传递的套接字。 在install.sh脚本中下载到/root/sources/下安装即可,无需手动安装。 gbtmaker.cfg 中的默认设置是使用 zeromq 通信。 比特币钱包需要支持 zeromq。 如果你不想使用它,在gbtmaker.cfg中将zmq相关设置为false,它会调用rpc通信来代替。

8. Supervisor(依赖工具) 1) 描述

它负责管理后台进程。 该服务通常会运行很长时间。 它负责监控进程状态,服务死了重启等。配置文件conf用于指定具体的程序和参数。

2) 安装 $ apt-get install supervisor # 这个是为了后台进程管理

将需要启动的服务配置写成conf文件,复制到/etc/supervisor/conf.d中。 其他操作见INSTALL.md脚本

3) 常用命令 $ supervisorctl> reread> update> status # 查看状态 > restart xxxx # 可以选择重启某某其他 $ supervisorctl start xxx $ supervisorctl stop xxx 9. 测试 1) 内置测试工具模拟器 $ cd / work/btcpool /build/run_simulator$ ./simulator -c simulator.cfg -l /tmp/log 2)模拟矿机连接minerd -o stratum+tcp://127.0.0.1:3333 -O jack:1