西数超哥博客
运维经验教程分享

swarm以太坊bzz/bee运行错误配置常见问题解决方案

最近遇到常见错误:

  rate limit exceeded 错误原因:

  swap-endpoint 默认限制100000 个请求/天,如果超过会报这个错误。

  解决方案:付费购买更多的请求,或用户自行搭建节点

  特别说明:

  很多人遇到这个错误******************to be mined:not found ,是因为使用的v0.5.3,无法直接启动,需要找一个在正常运行的节点引导启动。

  可以参考这个教程处理:https://www.west.cn/faq/list.asp?unid=2430

  一、常见报错:

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

  节点不对,需要在yaml文件中将swap-endpoint:对应值替换成自己生成的新节点,参考申请教程:https://www.west.cn/faq/list.asp?unid=2421

  Windows的替换位置如下:

  提示错误:Error: get chain id: Post ‘https://rpc.slock.it/goerli’: EOF 也是这个原因,需要更换节点地址。

  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://127.0.0.1:1633 访问。

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

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

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

  官方水龙头接水方法,请参考:https://www.west.cn/faq/list.asp?unid=2429

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

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

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

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

  您的节点未侦听端口 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交换节点。申请节点参考:https://www.west.cn/faq/list.asp?unid=2421

  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即可解决。

  rm -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文件存储到您的主文件夹中,并将密码复制到剪贴板中。

  参考:https://www.west.cn/faq/list.asp?unid=2433

  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 文件(其中包含您的密钥)

  粘贴密码

  点击导入

  参考:https://www.west.cn/faq/list.asp?unid=2433

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

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

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

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

赞(0)
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥博客 » swarm以太坊bzz/bee运行错误配置常见问题解决方案