Bee错误与已知故障总结

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

注意:官方明确回复,0.5.3不再支持,将不再参与空投。项目方别无选择,只能向前推进 0.6.2 及更高版本!

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

错误版本:0.6.0

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

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

Bee错误与已知故障总结

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

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

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

操作方法:

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

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

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

Bee错误与已知故障总结

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添加到系统防火墙中。

如果你申请的交换端点无法连接也会造成这样的错误,访问https://infura.io/查看你的交换端点的免费次数是否超过10万次。官方建议自建Goerli 节点。

11.bee错误提示:“a swap-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主程序。

造成这个问题的主要原因是,官方在0.6.x版本增加了一个限制“当与 Infura 的连接超时时关闭节点”,这个比较坑,当你访问对方节点时,需要Infura作为交换节点服务器中转访问,一旦Infura无法连接,或者Infura超时,节点便会自动关闭。官方建议自建Goerli 节点。

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

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

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

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

18.运行错误,强制退出节点:“peer not reachable when attempting to connect,kademlia manage loop exited,kademlia shutting down,kademlia persisting peer metrics”

错误:尝试连接时无法访问对等点,kademlia 管理循环退出。

获得与交换端点更稳定的连接。 0.6.x 监控交换端点,如果检测到错误,将关闭您的节点。  您可以自己搭建交换端点服务器,来运行您自己本地的Goerli 节点。

19.bee启动错误:”waiting to sync with the Ethereum backend”

错误:”等待与以太坊后端同步”

时间不同步,你机器的时间不是实时的 1 分钟内,你的交换端点还没有与 goerli 网络同步。根据https://www.timeanddate.com/worldclock/timezone/utc检查 timedatectl 世界时间,将你的电脑时间与世界时间同步。

注意: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”

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

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

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

1curl 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”有什么区别?

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.bee节点程序,windows下启动后输入密码闪退。

密码输入错误,请注意检查大小写。

17.Windows下启动bee节点程序后,输入密码正常启动,在访问交换端点swap-endpoint的时候突然闪退。

交换端点swap-endpoint无法访问造成的闪退,检查交换端点网站10万次交换次数是否超限。如果超限需要重新注册交换节点账号。https://infura.io/

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

Swarm/Bee 相关资源链接

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

bee全网节点地图(2021年6月): https://uzbox.com/beenodes.html

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

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

安装帮助:

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

Bee节点linux常用命令 :

节点访问

1curl http://localhost:1633

查看地址

1echo ‘{“id”: 1, “jsonrpc”: “2.0”, “method”: “account_list”}’ | nc -U /var/lib/bee-clef/clef.ipc

检查连接性

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

网络拓扑

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

查看自己的钱包地址

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

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

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

查看支票 查看支票薄详情

1curl http://localhost:1635/chequebook/cheque
1curl localhost:1635/chequebook/cheque | jq

查看支票薄账户余额

1curl localhost:1635/chequebook/balance | jq

查看每个peer的余额

1curl localhost:1635/balances | jq

查看支票接收和发送数量

1curl localhost:1635/settlements | jq
西数超哥学习乐园,西数超哥基础运维经验教程分享的学习乐园,西数超哥博客,运维经验教程交流学习分享的博客

原创文章,作者:zhang sir,如若转载,请注明出处:https://www.ysidc.top/8912.html

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注