有遇到疑惑的可加VX交流:thisispg
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-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
应用程序作为守护进程和客户端运行, 控制该守护进程并与之交互.守护进程是一个长时间运行的程序, 通常在后台运行.
当使用主网(mainnet), 我们建议从可信状态快照启动守护进程同步:
# 仅主网:
lotus daemon --import-snapshot https://fil-chain-snapshots-fallback.s3.amazonaws.com/mainnet/minimal_finality_stateroots_latest.car
# 其他网络:
lotus daemon
在第一次运行中, Lotus 将会:
~/.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 daemon stop
## 使用 systemd 运行时:
# systemctl stop lotus-daemon
有遇到疑惑的可加VX交流:thisispg