April 11, 2023
ZH

Swarm开发:如何运行一个用于测试和开发的Bee节点

Swarm 开发:如何运行一个用于测试和开发的 Bee 节点

在 Swarm 网络上打造去中心化应用时,运行 Bee 节点是关键一环。然而,作为开发者,我们通常更希望能够在一个安全、快速地与节点/网络进行交互的环境中测试,而无需担心节点的存储数据或用户的代币资产受到威胁。

本文将详细介绍三种模拟在 Swarm 上运行 Bee 节点的方法,这些方法主要用于安全、无风险的测试和开发:

  • 在开发者模式下运行 Bee
  • 使用 Bee Factory 搭建本地网络
  • 使用 FDP Play 搭建本地网络

无论你是编程新手还是经验丰富的开发者,这些方法都能帮助你快速熟悉并开始 Swarm 的开发旅程。那么,让我们一起深入了解吧!

方法一:开发者模式下运行 Bee

当 Bee 节点在开发者模式下运行时,它会创建一个具有瞬态持久性(Volatile persistence)和模拟后端(Mocked backend)的实例,这使得该模式成为试验和测试 Bee 节点各种特性的理想环境。开发者对节点状态的任何更改都是临时性的,并且在节点停止运行时会被清除。因此,这种模式对现实世界的数据或资产不会产生任何影响,是开发者进行 Bee 节点试验和测试的首选模式。

准备工作

  • 请确保端口 1633 和 1635 未被占用且可用。

步骤 1:在操作系统上安装 Bee

  1. 利用安装包进行安装
  • Ubuntu/Debian(*.deb)
  • CentOS(*.rpm)
  • MacOS(brew)
  1. 使用安装脚本,它能自动监测你的运行环境,并在你的电脑上安装最新稳定版本的 Bee
  • Linux (bee-linux-*)
  • MacOS (bee-darwin-*)
  • Windows (bee-windows-*)
  1. 在所有系统上通过源代码进行创建

您可以通过此链接下载最新版本的 Bee 安装包:https://github.com/ethersphere/bee/releases/latest

步骤 2:在 dev 模式下启动 Bee

打开终端窗口并运行对应的命令:

bee dev

(                      *        )  (
)\ )                 (  *    ( /(  )\ )
(()/(   (    (   (    )\))(   )\())(()/(   (
/(_))  )\   )\  )\  ((_)()\ ((_)\  /(_))  )\
(_))_  ((_) ((_)((_) (_()((_)  ((_)(_))_  ((_)
|   \ | __|\ \ / /  |  \/  | / _ \ |   \ | __|
| |) || _|  \ V /   | |\/| || (_) || |) || _|
|___/ |___|  \_/    |_|  |_| \___/ |___/ |___|


Starting in development mode

"time"="2023-03-08 13:55:59.008839" "level"="info" "logger"="node/localstore" "msg"="database capacity" "chunks"=1000000 "~size(GB)"=20.29025
"time"="2023-03-08 13:55:59.008726" "level"="info" "logger"="node" "msg"="starting debug api server" "address"="[::]:1635"
"time"="2023-03-08 13:55:59.022163" "level"="info" "logger"="node" "msg"="starting api server" "address"="[::]:1633"

完成!Bee 节点现在已在开发模式下运行。现在可以安全地使用其所有的 API 接口进行交互。任何因交互而产生的节点状态变化都只会暂存到易失性内存(Volatile memory)中。

方法二:利用 Bee Factory 在本地搭建 Swarm 网络

Bee Factory提供了一套能够在自己的计算机上模拟整个 Swarm 网络的全面解决方案。作为一个命令行工具,Bee Factory 旨在启动一个由 Bee 节点组成的 Docker 集群,并提供一个用于高级测试与开发的区块链测试环境。

准备工作

  • 确保已在系统中安装 Docker
  • node >= 16
  • 确保 1633 和 1635 端口是可用的,并且已阻止外部连接

步骤 1:安装 Bee Factory

npm install -g @ethersphere/bee-factory

步骤 2:使用 Bee Factory

为指定的 Bee 版本启动集群,并附加到 Queen 容器,显示其日志(可按 Ctrl+C 停止):

bee-factory start 1.13.0

或者,为指定的 Bee 版本启动集群,然后进行分离并退出:

bee-factory start --detach 1.13.0

停止运行中的 Bee 集群:

bee-factory stop

在切换版本时,如需删除现有的容器,可以使用–fresh:

bee-factory start 1.13.0 --fresh

查看所有可用的子命令:

bee-factory --help

查询特定子命令的帮助信息:

bee-factory <subcommand> --help

欲获取更多关于 bee-factory 的信息,您可访问 https://github.com/ethersphere/bee-factory

方法三:借助 FDP Play 在本地部署 Swarm 网络

公平数据协议(Fair Data Protocol,FDP)是一种建立在 Swarm 之上的数据互操作协议,它也是一个二层解决方案。这项协议鼓励在去中心化云环境中,对处理个人数据的去中心化应用提供更多的自主和隐私保护。

与 bee-factory 类似,FDP Play是一个命令行工具,旨在通过 Docker 在本地快速部署一个 FDP 开发环境。该环境包含一个用于测试的 Ganache 区块链,一个由 Bee 节点构成的 Docker 集群,以及一个 FairOS 实例。

准备工作

  • 确保已在系统中安装 Docker
  • node >= 16
  • 确保 1633、1635 和 9090 端口是可用的

步骤 1:安装 FDP Play

npm install -g @fairdatasociety/fdp-play

步骤 2:使用 FDP Play

使用最新的 Bee 版本启动 Bee 集群:

fdp-play start

连接到 Queen 容器并显示其日志:

fdp-play logs queen --follow

停止集群(请注意,容器数据在重启之间会持久保存):

fdp-play stop

清空所有数据(刷新)并获取最新的 docker 镜像:

fdp-play start --pull --fresh

使用特定的区块链镜像启动集群:

fdp-play start --detach --blockchain-image fairdatasociety/fdp-play-blockchain

有关 fdp-play 的更多信息,请访问 https://github.com/fairDataSociety/fdp-play

下一步做什么?

既然已经介绍了三种安全、无风险的启动 Bee 节点进行测试和开发的方法,现在就可以开始与节点交互,并在 Swarm 网络上构建应用了。Bee JS SDK 及其相关文档是开启您编程之门的最好选择。

您可查看与 Swarm 及生态相关的免费和开源项目列表,表上项目的数量仍在持续增加。加入 Discord 的 #develop-on-swarm 频道,与 Swarm 社区其他开发者建立联系。如果您有创新性想法,并相信它的潜力和影响力,不妨考虑向我们申请资助。Swarm 时刻等待您的加入!

Follow Swarm community news on X / Twitter.
Discussions about Swarm can be found on Reddit.
All tech support and other channels have moved to Discord!
Please feel free to reach out via info@ethswarm.org
Join the newsletter! .

Read more…

By clicking on Subscribe you consent to usage of your given e-mail address for receiving communication and news about the Swarm project and news. Data will be controlled and processed by Swarm Foundation.