截止主网上线前夕,发行版本是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已知错误故障
-
- 1.bee启动报错:“Error: no known factory address for this network”
- 2.http://localhost:1633/ 打不开。
- 3.Bee启动报错:“Error: chequebook init: transaction underpriced”
- 4.Bee启动报错:"waiting for chequebook deployment in transaction"
- 5.Bee启动报错:“Error: debug api listener: listen tcp :1635: bind: address already in use”
- 6.Windows版本运行后,报错日志占用。
- 7.Windows下启动Bee报错“Error: chequebook init: transaction cancelled”
- 8.错误提示:“could not connect to peer”
- 9.bee错误提示:“context deadline exceeded”
- 10.bee错误提示:“kademlia has no connected peers, trying bootnodes”
- 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.”
- 12.水龙头错误提示:“You don't have any sprinkles left, please deploy your sprinkled nodes to be gifted more!”
- 13.启动错误:“Error chequebook int:chequebook not deployed by factory”
- 14.bee错误提示:“error: rate limit exceeded”
- 15.bee错误提示:“peer not reachable when attempting to connect”
- 16.bee错误提示:“kademlia manage loop exited”
-
- Bee配置节点常见问题
-
- 1.Bee 使用哪个 p2p 端口,我应该在路由器中打开哪个端口?
- 2.如何能知道是否已连接到其他Bee节点?
- 3.如何从安装了bee-clef的节点中导出私钥
- 4.安装了 bee-clef,但无法导出私钥
- 5.如何从节点导出私钥(没有 bee-clef)
- 6.如何将蜜蜂节点地址导入Metamask?
- 7.bee的重启命令是什么?
- 8.如何查看我有多少张已兑现的支票?
- 9.我对比过我的以太坊地址和我的支票簿地址之间的交易,数量不同,这是为什么?
- 10.如何设置 infura.io 端点
- 11.我可以将多个节点连接到 infura 端点吗?
- 12.当我运行 http://localhost:1635/chequebook/balance 时,我得到“totalBalance”和“availableBalance”有什么区别?
- 13.什么决定了bee节点的连接数量,以及如增加节点的数量?为什么有时候同时在线300多的节点,而有时却是30个?
- 14.“systemctl”和“bee start”有什么区别?
- 15.我可以为多个节点使用一个以太坊地址/钱包吗?
-
- Swarm/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-api-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 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主程序。
注意: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 查看您的支票簿合同。
通过以下方式获取您的支票簿合同地址:
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. 该地址是节点以太坊地址的散列,因此它是确定性的。由于所有节点都必须有一个唯一的地址,如果你使用同一个钱包,就会违反唯一性约束并导致节点故障。
因此,规则是,每个节点必须具有:
- 唯一的以太坊地址
- 唯一的支票簿
- 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