Filecoin 安装和配置
有遇到疑惑的可加QQ群交流:1057160243
最低配置,要运行Lotus节点,满足以下配置:
- macOS 或者 Linux 系统. Windows 系统目前还不支持.
- 8核心 CPU 和 32 GB 内存. 支持 Intel® SHA Extensions (AMD Zen 以上的微架构, 或者 Intel Ice Lake 以上) 的机型将大大加快其运行速度.
- 足够的空间来存储当前的 Lotus 链 (最好是在SSD存储介质上). 链以大约每周 12GB 的速度增长. 链也可以通过快照同步.
- 服务器配置: 12核25G 1TSSD硬盘(基础配置)
Linux 安装以及配置
sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm; sudo yum install -y git gcc bzr jq pkgconfig clang llvm mesa-libGL-devel opencl-headers ocl-icd ocl-icd-devel hwloc-devel
Rustup安装
Lotus 需要依赖 rustup (opens new window). 最简单的安装方法是:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Go环境
要构建 Lotus, 你还需要安装 Go 1.15.5 or higher (opens new window):
wget -c https://golang.org/dl/go1.15.5.linux-amd64.tar.gz -O - | sudo tar -xz -C /usr/local
确保 /usr/local/go/bin
在你的变量 PATH
中. 如果你遇到问题, 可以查阅 官方 Go 安装说明 (opens new window)关于你操作系统的部分说明.
#构建和安装 Lotus
一旦安装了所有依赖项, 您可以构建和安装 Lotus 套件 (lotus
, lotus-miner
, 和 lotus-worker
).
-
克隆仓库:
git clone https://github.com/filecoin-project/lotus.git cd lotus/
-
检出与要加入网络的对应分支. 如果您想在
mainnet
上运行_最新_版本的 Lotus , 就检出master
分支. 如果你想使用特定的发行版本, 可以查看 GitHub 上的 Releases 部分 (opens new window).如果您正在从以前的 Lotus 安装更改网络,或者网络已重置, 请在开始操作之前查阅 切换网络指南. 你可以在网络仪表盘 (opens new window)中查看到你想加入网络正确的分支或标签:
git checkout <分支或标签> # For example: git checkout master # mainnet git checkout ntwk-calibration # calibration-net git checkout ntwk-nerpa # nerpa-net
目前, 这个 master 分支对应主网(mainnet).
-
注意地域的异常.
-
取决于您的 CPU 型号, 您需要导出其他环境变量:
如果你有一个 AMD Zen 或者 Intel Ice Lake CPU (或者更新), 通过添加这两个环境变量来启用 SHA 扩展:
export RUSTFLAGS="-C target-cpu=native -g" export FFI_BUILD_FROM_SOURCE=1
查看 原生 Filecoin FFI 部分 有关此过程的详细信息.
一些不支持ADX指令的旧Intel和AMD处理器可能会因非法指令错误而死机. 要修复这个问题, 添加
CGO_CFLAGS
环境变量:export CGO_CFLAGS_ALLOW="-D__BLST_PORTABLE__" export CGO_CFLAGS="-D__BLST_PORTABLE__"
这是由于 Lotus 的 Bug 导致 Lotus 无法在没有
adx
指令支持的处理器上运行, 但相信很快就会修复. -
构建和安装 Lotus:
make clean all sudo make install
这会把
lotus
,lotus-miner
和lotus-worker
放进/usr/local/bin
里面.lotus
默认会使用$HOME/.lotus
文件夹来进行存储 (配置, 链数据, 钱包等等). 查看高级选项有关如何自定义 Lotus 文件夹的信息. -
现在应该成功安装了 Lotus
启动 Lotus 守护进程并同步链
lotus
应用程序作为守护进程和客户端运行, 控制该守护进程并与之交互.守护进程是一个长时间运行的程序, 通常在后台运行.
当使用主网(mainnet), 我们建议从可信状态快照启动守护进程同步:
# 仅主网:
lotus daemon --import-snapshot https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car
# 其他网络:
lotus daemon
在第一次运行中, Lotus 将会:
- 将其数据文件夹设置在
~/.lotus
. - 下载必要的证明参数. 这一次会下载的几 GB 数据.
- 导入快照(如果指定)并开始同步Lotus链.
守护进程将立即开始生成大量日志消息. 从现在开始, 您必须在一个新的终端上工作, lotus
命令将与正在运行的守护进程通信.
与守护进程交互
lotus
命令允许您与正在运行的 lotus 守护进程进行交互. lotus-miner
和 lotus-worker
命令的工作方式相同.
Lotus 附带了内置的 CLI 文档:
# 显示常规帮助
lotus --help
# 显示 "client" 子命令的特定帮助
lotus client --help
例如e, 在Lotus守护进程运行几分钟后, 使用 lotus
检查它在 Filecoin 网络中连接到的其他节点的数量:
lotus net peers
#停止 Lotus 守护进程
为了优雅地停止正在运行的 lotus 守护进程 (重新启动守护程序以更新 Lotus 时需要), 使用以下命令:
lotus daemon stop
## 使用 systemd 运行时:
# systemctl stop lotus-daemon
有遇到疑惑的可加QQ群交流:1057160243