Ubuntu下运行Swarm Bee节点
1. 安装
基本安装步骤比较简单,可以直接[Swarm Bee参考官方文档](Quick Start | Swarm Bee Client (ethswarm.org))。
1.1 Bee Clef安装
在安装Bee之前,建议首先[安装Bee Clef软件包](Clef External Signer | Swarm Bee Client (ethswarm.org))。[Clef](go-ethereum/cmd/clef at master · ethereum/go-ethereum (github.com))是Go以太坊客户端使用的独立签名器(单独的一个对以太坊交易进行签名认证的服务),能够管理基于key-file的账户和硬钱包账户。[Bee-Clef](ethersphere/bee-clef: bee-clef is official ethereum clef binary wrapped and preconfigured for bee as a service (github.com))则在clef基础上针对bee做了定制化配置。Bee节点可以通过bee-clef来访问Swarm测试网或以太坊主网。当然,你也可以直接在本地运行原生的[clef](go-ethereum/cmd/clef at master · ethereum/go-ethereum (github.com)),然后增加自己的配置在运行Bee。如果确定要使用Bee-clef,必须在Bee之前先安装Bee Clef。
选择最新版本
- 打开[Bee-clef下载页面](Releases · ethersphere/bee-clef (github.com)),查看最新版本。写当前文档时的最新版本为v0.4.12。
安装Bee-Clef
-
下载Bee-clef
wget https://github.com/ethersphere/bee-clef/releases/download/v0.4.12/bee-clef_0.4.12_arm64.deb sudo dpkg -i bee-clef_0.4.12_arm64.deb
配置Bee-clef
安装以后的默认配置文件在/etc/bee-clef
目录下,包含4byte.json
和rules.s
两个文件,已经针对Bee做了基本配置,这里不需要特别修改。
# ll /etc/bee-clef/
-rw-r--r-- 1 root root 163 Feb 25 01:48 4byte.json
-rw-r--r-- 1 root root 249 Feb 25 01:48 rules.js
启动Bee-Clef
在使用后台启动之前,建议先通过手工启动查看bee-clef是否正确安装。正常启动后会有一下的日志打印,其中会出现三个文件路径
-
/etc/bee-clef/4byte.json
4byte数据库文件,包含了默认的Bee需要的一些方法。
-
/etc/bee-clef/rules.js
签名器规则文件,定义了最基本的签名规则。比如一般来说,我们的很多交易或操作需要用户手工确认才能进行。但是也有一些操作,可以在不提示用户的情况下直接允许,比如规则文件里提到的启动、列出账户等。
function OnSignerStartup() { return "Approve" } function OnApprovedTx() { return "Approve" } function ApproveListing() { return "Approve" } function ApproveTx() { return "Approve" } function ApproveSignData() { return "Approve" }
-
/var/lib/bee-clef/clef.ipc
这个是bee-clef签名器与Bee节点之间进行通信的IPC通信管道,bee的所有请求都是通过这个管道发送到bee-clef。在接下来Bee的配置文件中也会用到。
bee-clef正常启动后,一旦
bee
节点开始跟bee-clef
交互,日志中每隔几秒或几分钟就会打印INFO [05-11|23:41:53.365] Op approved
.
# bee-clef-service start
bee-clef-service /var/lib/bee-clef /var/lib/bee-clef/password /etc/bee-clef
Waiting for the clef.ipc file to show up at /var/lib/bee-clef/clef.ipc
WARNING!
Clef is an account management tool. It may, like any