目前很流行bzz挖矿,官方的bee节点截止2021/6/1,已经推出0.6.2版本,0.6.2版本相对之前的0.6.0版本做出了一些改进,下面看看如何升级到bee_0.6.2版。

官方bee项目地址:https://github.com/ethersphere/bee/releases

相对于v0.6.0 版本的改进:

  • 修复 statestore 关闭时可能发生的恐慌
  • 正确解码和解释transaction配置参数
  • 为部署和初始存款添加 gas 价格设置
  • 能够在 pullsync 中处理不正确的协议消息
  • 恢复更新到 1.16,因为我们的依赖项之一无法处理最新的 Go 版本。使用 go 1.15 代替
  • 禁用拉同步作为轻节点。请注意,这意味着轻节点无法接收 PSS 消息。
  • 限制全节点接受的轻节点数量
  • 当与 Infura 的连接超时时关闭节点
  • 我们协议中的多项性能优化。有兴趣的可以查一下git-log

官方下载:bee_0.6.2_amd64.rpm   |  bee-windows-amd64.zip

Windows版本镜像下载:bee-windows-amd64.zip | bee-windows-amd64.zip

Linux版本镜像下载:bee_0.6.2_amd64.rpm | bee_0.6.2_amd64.rpm

下面就以bee_0.5.3、-clef_0.4.12升级bee_0.6.2为例:

Bee升级

0.6.2 包含一些重大更改,这意味着必须进行数据库迁移。我们还引入了必须附加到数据块上的邮票,以便它们将保留在 Swarm 网络中。

在应用更新之前,请务必备份您的数据并兑现您的支票,以确保您的 gBZZ 是安全的。

注意:使用 v0.5.0 部署其支票簿的节点必须以 --transaction TXHASH 标志启动,其中 TXHASH 是从 bee 节点的以太坊地址发送的 goerli 网络上的任何以太坊交易。支票簿部署交易的哈希值可用于此目的,并可在 etherscan 上查找。对于最初使用 v0.5.1 或更高版本启动的节点,无需采取任何措施,因为 Bee 节点将自动提取其支票簿部署事务。

升级后需要调整您的配置。0.6.x 中的几个配置参数已更改 - 如果您希望继续作为完整节点运行,则必须将新full-node标志设置为true。

Linux/Centos8/Centos7下升级Bee节点

停止Bee服务和clef服务

停止bee服务:

1
systemctl stop bee

停止clef服务:

1
systemctl stop bee-clef

停止后使用命令确认一下bee和bee-clef两个服务的状态。

1
systemctl status bee-clef

确认服务关闭后,在进行下一步操作,如果你使用的是screen窗口化启动的,请先关闭screen窗口。

首先先恢复screen窗口,启动多少窗口打开多少窗口。

1
screen -r bee

恢复运行中bee窗口,多按几次ctrl+c,关掉bee程序!

然后关掉clef窗口程序。

1
screen -r clef

同上,多按几次ctrl+c,关掉clef程序!

备份数据

升级新版本之前,需要备份一下数据以免升级出错,造成不可逆的错误。

备份之前先了解一下需要备份的目录以及文件。

bee文件夹内包含keys,localstore,statestore三个文件夹

keys:

密钥目录包含您的重要密钥材料。这是迄今为止最重要的数据,是从 的初始化过程中产生和保留的。如果您使用Bee-clef来管理您的密钥材料和签名程序,请参阅以下有关如何保留密钥备份的信息。

如果您使用 来管理您的密钥(不推荐 - 请使用Bee Clef!)。您必须转换您的密钥才能导入 Metamask 和其他以太坊钱包。您可以使用exportSwarmKeys进行转换。

localstore:

localstore 目录包含固定在您的节点中或在您的职责范围内的块。

statestore:

statestore 目录保留与您的节点相关的信息,包括 SWAP 余额、同行信息、阻止列表等等。尽管您的 statestore 保留了您节点的状态。如果您的节点同时未连接,则只能从中恢复,因为如果您的节点在此期间打开,则区块链和状态可能已不同步。

Clef:

备份 Clef 的存储数据也很重要。这包括您的敏感密钥材料,因此请确保将其保密和安全!

进行备份:

注意,一定要进行数据备份,避免升级失败带来的数据丢失!如果bee目录中没有包含keys,statestore这两个目录的话,请备份两个目录。

1
cd /mnt/bee/
1
cp -R /var/lib/bee /var/lib/bee_0.5.3_bak
1
cp -R /var/lib/bee-clef /var/lib/bee-clef_0.4.12_bak
1
cp -R /etc/bee /etc/bee_0.5.3_bak
1
cp -R /etc/bee-clef /etc/bee-clef_0.4.12_bak
下载最新版程序安装包
1
2
3
cd /mnt/bee
wget https://github.com/ethersphere/bee/releases/download/v0.6.2/bee_0.6.2_amd64.rpm
rpm -i bee_0.6.2_amd64.rpm

这里提示/etc//bee.yaml文件和/usr/bin/bee已存在。

首先备份一下/etc//bee.yaml文件里面的内容。

1
2
3
4
5
6
7
8
9
10
11
full-node: true
clef-signer-enable: true
clef-signer-endpoint: /var/lib/bee-clef/clef.ipc
config: /etc/bee/bee.yaml
data-dir: /var/lib/bee
debug-api-addr: 127.0.0.1:1635
debug-api-enable: true
password-file: /var/lib/bee/password
swap-enable: true
swap-endpoint: wss://goerli.infura.io/ws/v3/574deffc70e94e8989b7612a5f427738
db-open-files-limit: 200000

由于0.6.x版本的数据结构,发生了很大的变化,直接卸载掉bee程序后,之后再次执行安装命令。

1
rpm -qa | grep bee
1
rpm -e bee-0.6.0-1.x86_64

1
rpm -i bee_0.6.2_amd64.rpm

卸载之后,原有的缓存文件也会被删除掉。0.5.3版本的缓存文件,与新版本的不通用。升级版本后相当于重新开始。

将上面备份的bee.yaml文件内容复制到新安装的/etc//bee.yaml文件中,然后启动bee服务。

在启动bee之前,首先启动bee-clef服务。

1
systemctl start bee-clef

启动完成后,确认一下bee-clef的服务状态。

1
systemctl status bee-clef

启动bee-clef没有遇到问题后,开始启动bee节点服务。

注意:如果你删除了bee-clef之后,重新安装bee-clef时会提示bee-clef用户组已经存在,遇到这种情况,删除掉用户组,重新安装就可以了。

1
groupdel bee-clef

下面开始启动bee节点服务,开一个新的screen窗口,运行bee服务。

1
screen -S bee
1
bee start --config /etc/bee/bee.yaml

窗口启动bee错误,提示bee服务已经在运行了,需要关闭bee

1
systemctl stop bee

关闭之后,在重新运行一下bee启动命令。

升级已经完成了,Linux版本的bee节点服务已经升级成功!

按一下ctrl+a+d,退出运行窗口。查看一下当前连接的节点数量,然后挂机,等待出票就好了。

1
curl -s http://localhost:1635/peers | jq '.peers | length'

Windows下升级Bee节点

2021年6月1日,bee官方发布了beeV0.6.2

官方下载地址:https://github.com/ethersphere/bee/releases

Windows版本镜像下载:bee-windows-amd64.zip | bee-windows-amd64.zip

将windows中的bee.exe替换成新版本的exe文件,然后重新启动就可以了。

Windows升级0.6.2后,会遇到不定时无法连接对方节点,然后窗口关闭的情况!

升级时遇到的问题:

测试机上linux的bee版本是0.6.0,升级0.6.2时候没有进行备份,直接将bee_0.6.0的程序卸载了,卸载之后发现之前bee目录内跑了几个G的数据文件也一同删除了,这个删除后可以重新下载没什么大问题,遇到的大问题就是安装bee_0.6.2后,启动了之前的bee-clef文件,本以为bee-clef负责ETH钱包地址,只要没删除bee-clef的话,钱包地址就不会发生改变。

安装好bee_0.6.2后开始测试运行,首先启动bee-clef,然后启动bee,之后发现bee的ETH钱包的确没有变化,就在这个时候提示需要ETH和1BZZ,由于之前的钱包地址已经申请过BZZ了,在官方频道的机器人申请时候出现了错误,机器人提示这个钱包地址已经领取过BZZ了。

无奈删除了bee-clef程序,重新安装后,获取了一个新的eth钱包地址。这个时候启动遇到了错误。

bee错误提示:"Error: overlay address changed. was 9fc6a8f27b7e182dd1fc6576173afc7dc6a98f159944b04a748fc03b7b7a3710 before but now is 256362de0a8f4de53985bc22fb4795c2d9ecc585b7748a85cc7dcbc5c30146cc"

错误:覆盖地址已更改。 之前是 9fc6a8f27b7e182dd1fc6576173afc7dc6a98f159944b04a748fc03b7b7a3710 但现在是 256362de0a8f4de53985bc22fb497975c8dcbc5c5c5c5c8dc5c5c8d

解决办法:删除掉statestore目录,然后重新启动bee即可解决。

1
rm -rf /var/lib/bee/statestore

解决好问题后,再次启动,提示,需要ETH和1BZZ,在官方机器人处申请好了1BZZ后,又提示需要ETH。又去领取ETH,注册了推特,发了地址,千辛万苦领到了ETH。

如何高效获取Goerli的ETH代币,ETH免费水龙头:https://uzbox.com/tech/geth.html

最后在钱包中转入ETH和1BZZ,才成功启动了bee节点!

官方的升级文档地址是:https://docs.ethswarm.org/docs/working-with-bee/upgrading-bee

 

 

订阅
提醒
guest
0 评论
内联反馈
查看所有评论