跳到主要内容

运行隐私节点

如何成为 BOOLNetwork 的隐私节点,参与隐私共识。


硬件要求

提示

隐私节点最重要的是 SGX 环境

建议成为隐私节点的最小硬件环境如下:

  • OS: Ubuntu 18.04
  • CPU:至少 8 核 (SGX 必须支持)
  • RAM:至少 64G 内存,越大越好
  • 存储: 至少 2T SSD/HHD,越大越好
  • 网络: 独立 IP,至少 20M 带宽,越大越好。
CPU主板内存固态硬盘网络环境操作系统
要求1.支持 SGX(Software Guard Extensions;2.Intel i5 七代及以上; 、3.核心数八核及以上BIOS 支持开启 SGX1总容量 >= 64G1.存储链全节点数据,考虑数据持续增长,建议 2T 以上1.带宽 >= 20M 2.全节点对网络同步要求较高,同时对外提供服务,实时性要求高。Ubuntu 18.04
基础推荐intel 酷睿 i5-9600KF or intel 酷睿 i7-7700K or intel 酷睿 i7-10700BIOS 支持开启 SGX12 条 32G DDR4 的内存2T m.2 固态20M 带宽Ubuntu 18.04
中级版推荐intel 酷睿 i5-9600KF or intel 酷睿 i7-7700K or intel 酷睿 i7-10700BIOS 支持开启 SGX14 条 32GG DDR4 的内存2T m.2 固态20M 带宽Ubuntu 18.04

快速启动

下载挖矿文件

git clone https://github.com/boolnetwork/mining-scripts.git
cd mining-scripts

激活 SGX 软件

提示

可根据Intel SGX processors 查看当前 cpu 是否支持 SGX

配置

配置 configs 目录中各服务启动参数,大多参数可以直接使用默认值,需要特别注意如下几个参数,按实际情况配置:

  • watcher.toml

    • identity: 与 bool 链交互的账户,用于签名,包括设备注册、设备在线、奖励获取等。 该账户同时是设备的拥有者。
    • boot_nodes:p2p 网络的种子节点。
  • monitor.toml

    • private_key: 与目标链交互的签名账户,该账户将跨链的数据提交到目标链上(relayer 服务)。
    • http_url: 目标链的 JSON RPC 接口,建议到 Infura 等节点服务提供商申请自己的账户。

identity 账户创建

docker run -it --rm boolnetwork/bnk-node:pre-release identity generate

输出

Secret seed:      0x71235e1458ce9d140c8b8ded28ccc1e32e62c340aef51a65e1350a387dbe08a6
Public key (hex): 0x0248e7f02dcc9f7061a090b67dede93d7381847e94955aee7996603d2225e9f77e
Account ID: 0x34a5572cb21d34354e3091564d5edc7b791e9d5f

领取测试币

curl https://bot.bool.network/coin/0x34a5572cb21d34354e3091564d5edc7b791e9d5f

命令

通过 docker-compose 启动。

开始挖矿

docker-compose up -d

查看挖矿状态

docker-compose logs

停止挖矿

docker-compose stop

更新

docker-compose pull

单独启动服务

对于挖矿指令,我们可以拆解成如下服务:

信息

我们需要关注运行服务的数据持久化。 例子中已将关键数据目录做了磁盘映射。

启动节点服务

docker run --net=host --rm -e RUST_LOG=info -v `pwd`/data:/data boolnetwork/bnk-node:latest --unsafe-ws-external

启动数据库服务

docker run --net=host --rm -e RUST_LOG=info  -v `pwd`/configs/db.toml:/bnk/db.toml -v `pwd`/data:/bnk/data boolnetwork/bnk-database:latest

启动观察者服务

docker run --net=host --rm -e RUST_LOG=info  -v `pwd`/configs/watcher.toml:/bnk/watcher.toml boolnetwork/bnk-watcher:latest

启动 SGX 私钥服务

docker run --rm --net=host --device /dev/sgx/enclave --device /dev/sgx/provision -v `pwd`/configs/key.toml:/bnk/key.toml -p 9701:9701  -e RUST_LOG=info boolnetwork/bnk-sgx-key-server

启动链监视服务

docker run --net=host --rm -e RUST_LOG=warn,info=bnk_monitor  -v `pwd`/configs/monitor.toml:/bnk/monitor.toml -v `pwd`/data:/bnk/data boolnetwork/bnk-monitor:latest

启动中继服务

若要成为中继人则需执行如下命令

docker run --net=host --rm -e RUST_LOG=debug boolnetwork/bnk-relayer:latest -w=http://127.0.0.1:8720 -m=http://127.0.0.1:8740 -p=8750

参数说明:

  • -w:观察者服务的访问链接。
  • -m: 链监视服务的访问链接。
  • -p: 默认值为 3000, 需按照配置文件填写,这里是 8750