最近比较流行BZZ挖矿,未来ETH2.0时代挖矿方式的改变,也使bzz挖矿成为一个热门,Windows下面的标志着挖矿适合个人PC用户,而矿工如果想大量的部署bee节点,就需要Linux服务器,然后进行虚拟化部署。对于bee节点的部署,当然是多多益善!

BZZ挖矿是ETH创始人V神亲自站台,是ETH项目官方的一部分,它主要是由ETH基金会领头和开发,允许矿池储存、带宽和算力资源来支持基于以太坊网络的应用、(据说是在六月份中旬)主网还没有确定上线时间。

下面我们来看一下在linux下如何部署bee节点进行bzz挖矿。

bzz挖矿的必备条件:

  • 一台支持虚拟化Linux服务器,系统安装建议安装centos8
  • 1个G的网络带宽(虚拟机共享1G带宽)
  • 服务器配置CPU16核和32G内存以上(用于创建更多虚拟机配置节点)

Linux服务器环境搭建

使用Xshell或者putty登录服务器。
Xshell软件下载:Xshell Plus v6.0 中文绿色破解版永久授权

远程连接服务器

下面以Xshell6为例:

输入服务器的主机IP地址,端口号22默认,建议修改主机远程端口号。

在用户身份验证选项中,输入服务器的用户名和密码,然后点击连接。

有些云主机名字都是一串字符,不利于平时使用。我们可以重命名主机来标记。

1
nmcli g hostname bee
1
systemctl restart systemd-hostnamed

修改好主机名称后,首先需要做的是更新系统,以及设置一下软件仓库数据源,安装软件包等操作!

更新系统

输入下面的命令更新centos8服务器系统:

1
dnf -y update

更新好系统后,下面我们来安装centos的软件源。

安装软件源

首先查看以下系统版本和位数,以免手动安装的时候,安装错误的源!

1
2
cat /etc/centos-release
uname -a

Repo 仓库介绍
CentOS 默认自带 CentOS-Base.repo 源,但官方源中去除了很多有版权争议的软件,而且安装的软件也不是最新的稳定版。

Fedora 自带的源中也找不到很多多媒体软件,如果需要安装,必需先添加其他源,如 RPMFusion 和 RPMForge 等第三方软件库。

但是除了 EPEL 之外还有很多其他三方软件包,下面我们介绍各种第三方软件库,以下软件库适用于与 RHEL 完全兼容的 linux 发行版,如 CentOS, Fedora, Scientific Linux. Scientific Linux 大家可能有点陌生,它与 CentOS 类似,是 RedHat Linux 的克隆版。

EPEL 仓库介绍
EPEL 是 yum 的一个软件源, 里面包含了许多基本源里没有的软件了,但在我们在使用 epel 时是需要安装它才可以了,下文来介绍 CentOS7/RHEL7 安装 EPEL 步骤:

EPEL,即 Extra Packages for Enterprise Linux 的简称,是为企业级 Linux 提供的一组高质量的额外软件包,包括但不限于 Red Hat Enterprise Linux (RHEL), CentOS and Scientific Linux (SL),Oracle Enterprise Linux (OEL)。

安装 EPEL软件源

使用yum或者dnf命令在线安装:

1
yum -y install epel-release

安装完毕后查询一下epel源是否添加到源列表。

1
dnf repolist

如果想手动安装,请使用rpm -ivh命令,然后查找适合当前系统的软件源:https://dl.fedoraproject.org/pub/epel/

安装Remi 源
Remi 源大家或许很少听说,但是我们强烈推荐,尤其对于不想编译最新版的 Linux 使用者,因为 Remi 源中的软件几乎都是最新稳定版。

或许您会怀疑Remi 源的稳定性?

放心吧,这些都是 Linux 骨灰级的玩家编译好放进源里的,他们对于系统环境和软件编译参数的熟悉程度毋庸置疑。

Remi 下载地址:https://rpms.remirepo.net/

Remi SRPMS 下载地址:https://rpms.remirepo.net/SRPMS/

rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-8.rpm

好了上面两个软件源已经添加完毕了,下面更新一下软件的缓存。

yum clean all && yum makecache

缓存更新完毕后,下面进行软件包安装!首先安装一个常用编译软件包:

1
dnf groupinstall "Development Tools" -y

常用编译软件包安装完毕后,我们开始安装运行bee所需的软件包。

安装Bee

Bee提供了基于Ubuntu,Raspbian,Debian和CentOS的Linux发行版软件包。

要安装Bee,您需要完成以下过程。

  • 设置Bee的外部签名人Bee Clef。
  • 安装Bee并将其设置为作为服务运行。
  • 配置蜜蜂。
  • 用gETH和gBZZ为您的节点提供资金
  • 等待您的支票簿交易完成并且批存储更新。
  • 检查Bee是否在工作。

首先需要做的第一步是在mnt目录下创建bee文件夹

1
cd /mnt
1
mkdir bee
1
ll
1
cd bee

 

安装Bee Clef

由于Bee必须要快速的自动签署大量交易,因此打包了Bee特定版本的Clef, -clef包括所有相关配置,并实现了使Clef与Bee一起使用所需的特定配置。

-clef地址:https://github.com/ethersphere/bee-clef/releases

首先需要下载bee-clef的软件包到服务器上。

1
wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.12/bee-clef_0.4.12_amd64.rpm

1
rpm -i bee-clef_0.4.12_amd64.rpm

安装bee-clef_0.4.12_amd64.rpm软件包,在安装过程中可能会遇到sssd缓存错误。

如果遇到“Usermod错误-[sysdb_domain_cache_connect](0x0010):数据库版本太旧[0.21],对于域hidden_​​files预期为[0.22]”的错误的话。

删除缓存数据库即可,首先查看一下缓存目录的内容

1
ls /var/lib/sss/db

1
rm /var/lib/sss/db/cache_implicit_files.ldb

删除之后,使用“sss_cache -e”命令查询一下。不报错了就可以进行下一步安装了。

最后,让我们检查Bee Clef是否正在运行。

1
systemctl status bee-clef

如果输入上面命令后,返回错误:“Failed to get properties: Access denied”

那么输入下面的命令即可解决错误:

1
kill -TERM 1

重新加载了守护程序,之后所有systemctl命令再次开始工作。

如果出现“Warning: The unit file, source configuration file or drop-ins of -clef.service changed on disk. Run 'systemctl daemon-reload' to reload units.”

输入systemctl daemon-reload即可解决。

1
systemctl daemon-reload

使用systemctl start命令启动bee-clef程序。

1
systemctl start bee-clef

下面查看一下bee-clef的状态。

1
systemctl status bee-clef

一旦bee开始与bee-clef您进行交互,您应该开始看到日志消息,对于定期处于活动状态且已连接的节点,它们将每隔几秒钟出现一次:

1
journalctl -f -u bee-clef.service

-clef程序数据存储在 /var/lib/bee-clef/

-clef程序已经安装完毕了,下面安装bee主程序。

安装Bee主程序

设置Bee并将其作为后台服务在计算机上启动并在后台运行。

bee发布地址:https://github.com/ethersphere/bee/releases

1
wget https://github.com/ethersphere/bee/releases/download/v0.6.0/bee_0.6.0_amd64.rpm

安装bee_0.6.0_amd64.rpm

1
sudo rpm -i bee_0.6.0_amd64.rpm

安装完毕后需要需要申请swap-endpoint测试交换节点,先不要启动bee。

ETH交换节点

首先你需要申请ETH的交换节点,官方推荐自建交换节点,也可以去Infura网站申请。
Infura的免费账户每天只支持100000次交换请求,如果你是专职矿工的话,建议你搭建自己的Goerli节点

swap-endpoint测试交换节点注册地址:https://infura.io/
swap-endpoint节点注册
打开infura.io网站,在右上角,将网站语言更改为zh中文,然后点击注册。
swap-endpoint节点注册
填写一个有效的邮箱进行注册,建议使用海外邮箱,gmail或者live。注册成功后需要进入邮箱激活。
swap-endpoint节点注册
确认好邮件地址后,直接进入到后台管理界面。
swap-endpoint节点注册
点击第三项以太坊图标的选项,开始并创建您的第一个项目,以访问以太坊网络!
swap-endpoint节点注册
然后输入一个你要创建新项目的名称,输入完毕后点击创建。
swap-endpoint节点注册
在ENDPOINTS后面选择Görli选项,选择完毕后,下面的地址就是你的swap-endpoint地址。
https://goerli.infura.io/v3/574deffc70e94e8989b7612a5f427738

Bee配置

由于Bee在向网络提供服务以交换gBZZ时会占用大量资源,因此默认情况下,Bee节点以Light Node模式启动。为了允许Bee使用网络带宽和计算资源为网络服务并开始兑现支票,请将full-node设置为true。
Bee设计用于许多不同的硬件配置。为了促进对此的探索,在我们的beeta阶段,我们允许节点操作员访问leveldb的db-open-files-limit。这有助于确定Bee读取和写入数据库的速度,从而确定其转发和服务块的效率。有人说,将其设置为比默认值200大得多,可以大大提高参与群体并获得这些gBZZ的能力!需要将db-open-files-limit设置成2000。

安装screen

GNU Screen是一款由GNU计划开发的用于命令行终端切换的自由软件。用户可以通过该软件同时连接多个本地或远程的命令行会话,并在其间自由切换。

GNU Screen可以看作是窗口管理器的命令行界面版本。它提供了统一的管理多个会话的界面和相应的功能。

  • 会话恢复
    只要Screen本身没有终止,在其内部运行的会话都可以恢复。这一点对于远程登录的用户特别有用——即使网络连接中断,用户也不会失去对已经打开的命令行会话的控制。只要再次登录到主机上执行screen -r就可以恢复会话的运行。同样在暂时离开的时候,也可以执行分离命令detach,在保证里面的程序正常运行的情况下让Screen挂起(切换到后台)。这一点和图形界面下的VNC很相似。
  • 多窗口
    在Screen环境下,所有的会话都独立的运行,并拥有各自的编号、输入、输出和窗口缓存。用户可以通过快捷键在不同的窗口下切换,并可以自由的重定向各个窗口的输入和输出。Screen实现了基本的文本操作,如复制粘贴等;还提供了类似滚动条的功能,可以查看窗口状况的历史记录。窗口还可以被分区和命名,还可以监视后台窗口的活动。
  • 会话共享
    Screen可以让一个或多个用户从不同终端多次登录一个会话,并共享会话的所有特性(比如可以看到完全相同的输出)。它同时提供了窗口访问权限的机制,可以对窗口进行密码保护。
  • GNU's Screen 官方站点:http://www.gnu.org/software/screen/

screen安装命令:

1
dnf install -y screen

安装 json 解析工具,方便后面查询命令的时候,输出显示效果更友好。

1
dnf install -y jq nc

没有 ifconfig 和netstat -an 命令的话请安装 net-tools

1
dnf install -y net-tools

查看服务器端口占用

1
netstat -lnpt

运行Bee

运行bee节点,首次运行要设置密码。输入的时候,屏幕不会显示字符,请牢记密码。

首先新建一个bee窗口

1
screen -S bee

查看一下你的钱包地址,输入命令:

1
bee-get-addr

获取你的钱包地址后,前往官方水龙头节水。

具体接水方式,请查看:bzz挖矿官方水龙头,免费获得ETH和gBZZ

输入下面命令,启动bee

1
bee start --config /etc/bee/bee.yaml
此时节点正常运行,虽然也会有很多报错信息,但会有与其他节点成功通信并进行交换的提示,这样bee就启动成功了。可以用以下命令监测客户端已经连接了多少个节点:
1
curl -s http://localhost:1635/peers | jq '.peers | length'

正常启动后,没有遇到启动问题的话,就可以退出screen了,按住ctrl+a然后按d退出screen虚拟CLI,此时Bee客户端进入后台运行,就可以关闭Xshell或进行其它调试,想回到之前的Bee节点窗口,可以使用命令返回到screen。

1
screen -r bee

 

禁用IPV6

如果你的服务器启用了IPV6,在启动bee节点时候会报错。

“Error: init chain: dial eth client: dial tcp [::1]:8546: connect: connection refused”

检查服务器是否启用IPV6

1
ip a | grep inet6

如果有inet6的返回的话,需要禁用IPV6

1
vi /etc/default/grub

在GRUB_CMDLINE_LINUX中添加ipv6.disable=1

应用新的配置:使用grub2-mkconfig 生成新的grub引导文件。

1
grub2-mkconfig -o /boot/grub2/grub.cfg

1
ip a | grep inet6

输入命令后查看一下,没有inet6的返回了,已经成功禁用了ipv6。

 

Bee相关命令

启动Bee:systemctl start
停止Bee:systemctl stop
重启Bee:systemctl restart
设置开机启动Bee:systemctl enable
设置开机禁用Bee:systemctl disable
Bee状态:systemctl status bee

删除Bee

如果在安装过程中出现一些不可逆的错误,请先删除bee,然后再重新安装。

1
rpm -qa | grep -i bee

1
rpm -e bee-0.6.0-1.x86_64
1
rpm -e bee-clef-0.4.12-1.x86_64

或者

1
yum remove bee
1
yum remove bee-clef
数据存放位置

bee-clef
配置文件存储在 /etc/bee-clef/
关键材料和其他数据存储在 /var/lib/bee-clef/
bee
配置文件存储在 /etc/bee/
状态,块和其他数据存储在 /var/lib/bee/

关闭系统防火墙

关闭系统自带的防火墙服务,然后设置开机禁用防火墙服务。

1
2
systemctl stop firewalld
systemctl disable firewalld

 

订阅
提醒
guest
2 评论
最新
最旧 得票最多
内联反馈
查看所有评论
233
233
2021年6月13日 13:19

获取你的钱包地址后,前往官方水龙头节.
这里配图里没有钱包地址,只有以太坊节点地址。我按照你的教程弄下来也的确没有钱包地址,钱包地址应该是0x开头的

bee
bee
2021年5月29日 19:58

Centos7 快速安装 Swarm Bee,含多节点启动脚本
https://github.com/trustex/Document/blob/master/swarm/bee.md