Swarm节点Bee配置常见问题故障与快速解答

截止主网上线前夕,发行版本是V0.6.1,现在的客户端只能说门槛太高,对于小白用户来说难度太大,官方又没有详细的错误报告,有一些官方自己也没搞明白,下面搜集整理了一些在调试过程中遇到的错误提示,也许会对你有一些帮助。

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文件,然后重新启动就可以了。

目前Bee v0.6.1 包含对 v0.6.0 的一些重要改进,但不稳定。建议节点运营商继续运行 v0.5.3,直到我们的Discord 频道另行通知!

Bee已知错误故障

 

阅读索引

 

在调试bee节点客户端的时候,会遇到很多意想不到的故障错误,有些是人为操作,有些是程序bug,下面总结了一些经常遇到的问题,希望可以帮到你。

1.bee启动报错:“Error: no known factory address for this network”

错误版本:0.6.0

ETH交换节点不对,需要在bee.yaml文件中将swap-endpoint:对应值替换成自己申请的新交换节点

具体申请方法,参考BEE配置

2.http://localhost:1633/ 打不开。

如果http://localhost:1633/ 无法访问的话,确定服务已经正常运行的情况下,浏览器输入http://127.0.0.1:1633/ 用IP访问一下本机。最后确认一下在配置文件中包含debug--enable: true

如果使用http://127.0.0.1:1633/可以访问,而使用http://localhost:1633/ 无法访问的话,请修改你Windows本机的配置。

操作方法:

打开“控制面板”,选择“程序”中的“程序和功能”。
点击“启用或关闭Windows功能”。

然后点击勾选“Internet Information Service”及其下的“FTP服务器”。

确定之后打开浏览器验证,localhost已经可以访问了!

3.Bee启动报错:“Error: chequebook init: transaction underpriced”

错误版本:0.5.3

bee节点启动后,提示支票簿初始化错误,原因是网络拥堵,节点在自动部署合约过程中,没有自动将钱包里的gBZZ代币转入合约支票簿。查看一下此时的ETH钱包地址和转入gBZZ代币的地址是否一致。

解决方法:确认bee分配的ETH钱包内有足够的gBZZ代币,没有的话需要去官方水龙头接水。

官方水龙头接水方法,请参考:bzz挖矿官方水龙头,免费获得ETH和gBZZ

4.Bee启动报错:"waiting for chequebook deployment in transaction"

错误版本:0.6.0

bee节点启动后,提示等待事务中的支票簿部署。

解决方法:这个问题只需要耐心等待就可以了。

5.Bee启动报错:“Error: debug api listener: listen tcp :1635: bind: address already in use”

错误版本:0.5.3

您的节点未侦听端口 1635,或者未启用 debug-api,或者未在 localhost 上执行。确保您的 bee.yaml 文件中包含:debug-api-enable: true

错误提示端口1635被占用,原因是后台还有另外一个bee程序被占用,这个错误经常发生在Linux服务器上。

在Linux上部署的bee节点,系统启动方式,和手动启动方式是开启了两个不同的bee程序。

例如:使用systemctl start bee命令启用的BEE是系统服务,这时再通过命令bee start启动的话,会出现端口被占用的错误。

解决方法:使用systemctl stop bee命令停止Bee后,再运行启动命令bee start。一般Linux下安装bee,不要将bee设置为自启动。使用命令停止后就可以了。

6.Windows版本运行后,报错日志占用。

解决方法:重新启动电脑,然后重新启动bee程序。

7.Windows下启动Bee报错“Error: chequebook init: transaction cancelled”

如果输出上面的错误提示,请查看你的电脑上防火墙否关闭,如果没有关闭,请关闭防火墙。

如果你不想关闭防火墙,请在防火墙中设置bee.exe通行。在防火墙选项下选择“允许应用或功能通过Windows防火墙”然后选择bee.exe程序。

8.错误提示:“could not connect to peer”

“由于各种原因,可能会无法连接到对方节点。” 最常见的一种情况是,地址簿中存在一个之前会话的节点标识符。再次尝试连接到此节点时,对方节点可能不再在线。

9.bee错误提示:“context deadline exceeded”

“超出上下文截止日期”是一个非严重警告。这意味着节点花费了额外的时间,来响应你的节点的请求。请求失败后,将通过另外一个节点自动重试。

10.bee错误提示:“kademlia has no connected peers, trying bootnodes”

“没有连接的对等节点,正在尝试启动节点”节点启动过程中,没有可以访问的对等节点,意思是访问不到外网的节点,排查一下防火墙是否关闭,或者是否将bee.exe添加到系统防火墙中。

11.bee错误提示:“a -enabled network a working blockchain node (for goerli network in production) is required. Check your node or specify another node using --swap-endpoint.”

“一个支持交换的网络,需要一个工作的区块链节点(用于生产中的goerli网络)。 检查您的节点或使用--swap-endpoint指定另一个节点。”

swap-endpoint交换节点错误,没有eth交换节点。

12.水龙头错误提示:“You don't have any sprinkles left, please deploy your sprinkled nodes to be gifted more!”

每个discord账号,最多只能领取三次测试gbzz代币,超过就无法领取,重新使用邮箱注册一个discord账号就可以了。

13.启动错误:“Error chequebook int:chequebook not deployed by factory”

错误支票簿:支票簿未由工厂部署

更新新的0.6.2客户端,重新打开!

14.bee错误提示:“error: rate limit exceeded”

错误:超出速率限制,0.6.2版本增加了节点的速率限制(发送和接收),遇到这个问题重新启动bee节点就行了!

15.bee错误提示:“peer not reachable when attempting to connect”

意思是连接不到外面的节点,p2p端口拥堵通信不通,检查防火墙开放端口!或者关闭防火墙!找一台其他网络的机器telnet 你的外网ip加上你的p2p端口,看下是否通。

p2p默认端口是1634,如果以上都没有问题,重新启动bee节点客户端。

如果还是出现问题,检查一下swap交换节点是否畅通,如果与Infura的连接超时,会自动关闭节点

16.bee错误提示:“kademlia manage loop exited”

kademlia 管理循环退出,由于无法访问到对方节点,导致程序错误,重新启动bee主程序。

 

注意:Swarm/Bee错误持续更新中,您遇到上面bee方面的错误,欢迎在下方留言。整理之后会分享给大家。

Bee配置节点常见问题

在配置Bee的过程中,总会遇到各种各样的问题,下面总结了一些经常会遇到的问题。仅供大家参考!

1.Bee 使用哪个 p2p 端口,我应该在路由器中打开哪个端口?

Bee 的默认 p2p 端口为 1634,请使用您的路由器转发此端口,并根据需要允许流量通过防火墙。Bee 也支持 UPNP,但建议您不要使用此协议,因为它缺乏安全性。

2.如何能知道是否已连接到其他Bee节点?

您可以使用它的 HTTP api 与您的 Bee 通信。curl http://localhost:1635/peers在您的命令行中键入以查看您的同行列表。

3.如何从安装了bee-clef的节点中导出私钥

如果您与Bee-Clef一起运行Bee,则可以在命令行中键入bee-clef-keys,它将.JSON文件存储到您的主文件夹中,并将密码复制到剪贴板中。

4.安装了 bee-clef,但无法导出私钥

发生了很多安装bee-clef的情况,但是从bee-clef-keys获取地址并不会产生与输出相同的输出。 :1635/addresses

在这种情况下,用户很可能没有在蜜蜂节点的配置中启用谱号。

这对你不起作用?你得到错误 - >xclip: not found” or “Error: Can’t open display: (null)

尝试运行以下命令: sudo cat /var/lib/bee-clef/password

然后,您可以使用它导入到 Metamask 或任何其他 web3 钱包提供商。

5.如何从节点导出私钥(没有 bee-clef)

可以在 README 部分找到说明:https://github.com/ethersphere/exportSwarmKey

您也可以按照以下链接中的迷你指南进行操作:https://pastebee.com/?3b2a4cecafa21a7afcdd4d4f3d74fef1d5551acd91eb2d3a5b750dc9a161fbcf

6.如何将蜜蜂节点地址导入Metamask?
  • 导出您的蜜蜂节点私钥
  • 转到 Metamask 并单击导入帐户
  • 选择选择类型:JSON文件
  • 上传导出的 .JSON 文件(其中包含您的密钥)
  • 粘贴密码
  • 点击导入
7.bee的重启命令是什么?

如果您使用systemctl:

开始: sudo systemctl start bee
停止: sudo systemctl stop bee
地位: sudo systemctl status bee
如果您使用“

开始: bee start
停止:ctrl + c或cmd + c关闭终端以停止进程。

8.如何查看我有多少张已兑现的支票?

您可以在 etherscan 查看您的支票簿合同。
通过以下方式获取您的支票簿合同地址:

 

curl http://localhost:1635/chequebook/address

 

9.我对比过我的以太坊地址和我的支票簿地址之间的交易,数量不同,这是为什么?

当您的同行现金支票由您签发时,您的支票簿将显示 OUT gBZZ 交易,但您无需为这些支付任何 gas,因此它们不会出现在您的以太坊地址交易列表中。

10.如何设置 infura.io 端点

您需要在 infura.io 注册一个免费帐户,设置一个以太坊项目,并获取包含您个人 API 密钥的 goerli 测试网 URL。将该 URL 放入您的交换端点并重新启动您的节点。

确保选择正确的网络:ENDPOINTS后面选择“Gorli”

11.我可以将多个节点连接到 infura 端点吗?

是的,但他们的免费计划每天限制 10 万个请求。

12.当我运行 http://localhost:1635/chequebook/balance 时,我得到“totalBalance”和“availableBalance”有什么区别?

totalBalance是区块链上的余额,availableBalance是该余额减去您发给同行的未兑现(非兑现)支票。这些后面的检查不会出现在区块链上。这就像银行认为您的余额与您的支票簿所知道的实际上可用的余额,因为您写的支票仍然“在邮件中”并且尚未兑现。

13.什么决定了bee节点的连接数量,以及如增加节点的数量?为什么有时候同时在线300多的节点,而有时却是30个?

连接节点的数量由您的节点决定,因为它试图保持分布式 Kademlia 的良好连接。随着节点在网络中来来去去,您的节点数会上下波动。如果您查看 bee“成功连接”的输出日志,则在这些消息的末尾应该混合使用 (inbound) 和 (outbound)。如果您只获得(outbound),那么您需要通过防火墙打开 p2p 端口和/或由路由器转发。

14.“systemctl”和“bee start”有什么区别?

bee start和systemctl start bee实际上运行 2 个不同的实例,其中包含 2 个不同的bee.yaml文件和两个不同的数据目录。

bee start使用当前目录下~/bee.yaml和~/bee目录用于数据存储,而 systemctl使用/etc/bee/bee.yaml和 /var/lib/bee存储数据

15.我可以为多个节点使用一个以太坊地址/钱包吗?

不可以,这违反了 Swarm 协议的要求。Swarm 协议依赖于Swarm Address,也称为peer address. 该地址是节点以太坊地址的散列,因此它是确定性的。由于所有节点都必须有一个唯一的地址,如果你使用同一个钱包,就会违反唯一性约束并导致节点故障。

因此,规则是,每个节点必须具有:

  1. 唯一的以太坊地址
  2. 唯一的支票簿
  3. API / p2p / Debug API 的3个独特端口。

16.调试用的API命令都有哪些?

访问https://docs.ethswarm.org/api/查看所有bee的API命令

Swarm/Bee 相关资源链接

官方文档链接:https://docs.ethswarm.org/docs/

全网节点地图: https://beenodes.live/

API命令详解合集:https://docs.ethswarm.org/debug-api/

infura(–swap-endpoint)测试交换节点申请: https://infura.io/

安装帮助:

Swarm挖矿安装Bee节点,BZZ币空投BZZ挖矿Windows教程

bzz挖矿详细教程,Linux下使用Centos8搭建bee节点!

以太坊测试浏览器:https://goerli.etherscan.io

Bee节点linux常用命令 :

节点访问

 

curl http://localhost:1633

 

查看地址

 

echo '{"id": 1, "jsonrpc": "2.0", "method": "account_list"}' | nc -U /var/lib/bee-clef/clef.ipc

 

检查连接性

 

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

 

网络拓扑

 

curl -X GET http://localhost:1635/topology | jq

 

查看自己的钱包地址

 

curl -s localhost:1635/addresses | jq .ethereum

 

查看自己的支票合约账本地址

 

curl -s http://localhost:1635/chequebook/address | jq .chequebookaddress

 

查看支票 查看支票薄详情

 

curl http://localhost:1635/chequebook/cheque

 

 

curl localhost:1635/chequebook/cheque | jq

 

查看支票薄账户余额

 

curl localhost:1635/chequebook/balance | jq

 

查看每个peer的余额

 

curl localhost:1635/balances | jq

 

查看支票接收和发送数量

 

curl localhost:1635/settlements | jq

 

Swarm节点Bee配置常见问题故障与快速解答

扫一扫手机访问

Swarm节点Bee配置常见问题故障与快速解答

发表评论