# 背景

考虑到庞大的初始硬件和 Filecoin 质押投资 (opens new window)以及相关的运营成本,开始 Filecoin 存储提供是一项艰巨的任务。囊括了分布式部署架构,订单服务和算力服务,Venus 将帮助存储提供者,如社区所说,把全职工作 (opens new window)变成为一个对运维更加友好的解决方案。希望本教程能让您立即开始存储提供!

# 如何提供存储服务

有两种方法可以开始使用 Venus 来提供存储服务。

  1. 部署最少的硬件并获得第三方智子服务的帐号。欢迎了解Venushub的孵化器项目 (opens new window),并加入Venus团队提供的免费智子服务。
  2. 自行部署智子服务。请参阅这个教程以了解更多信息。

在遵循其余的教程和成功部署后,您可以开始封装扇区,增加算力并通过您对网络存储容量的贡献最终获得区块奖励!

# venus 产品介绍

根据其在挖矿集群中的作用,模块可以大致分为两类:智子服务产品和 SP 本地产品。智子服务可以被认为是开始封装扇区所需的基础。大多数与区块链的交互,如链同步、发送消息、赢得赢票等,都是由智子服务处理的。这允许了许多存储提供者都可以共用一套智子服务,从而减少维护成本。SP 本地产品提供了一整套算力服务。如果您选择使用第三方托管的智子服务,您只要将花费大部分时间在 SP 本地产品上。

name role product
venus (opens new window) daemon for chain interactions venus
sophon-miner (opens new window) block winning and proving sophon service
sophon-messager (opens new window) chain message management sophon service
sophon-auth (opens new window) utility for authorized use of shared modules sophon service
sophon-gateway (opens new window) utility for controlled access point of shared modules sophon service
venus-wallet (opens new window) addresses/keys management venus
damocles (opens new window) job scheduling, sealing and proving damocles
droplet (opens new window) storage deal making & data retrieval droplet
venus-sealer (opens new window), venus-worker (opens new window) ‼️Deprecated; job scheduling, sealing and proving Local

# 服务架构

下图展示了 venus 模块如何相互交互。

venus

# 硬件要求

此处 (opens new window)了解有关硬件要求的更多信息。或者参阅我们的单机配置示例 (opens new window)

注意

使用 damocles 时,请参阅 damocles 性能测试 (opens new window)中,社区成员使用的硬件,并作出对自己的最优调整。如有问题可以寻求Venus Master (opens new window)的帮助。

# Venus 产品构建

本文档各组件以 TAG:v1.0.0 为例说明,实际场景中按需检出。

每个组件的构建相互独立,无顺序之分。

# 环境准备

系统需要安装 GoRust 等必要软件,可以参考 lotus 文档中的相应部分 building-from-source (opens new window)

Venus 各产品均在 github 开源,通常用 git 管理,git 命令使用可参考 Branching-Remote-Branches (opens new window)

部分组件依赖 filecoin-ffiFilecoin官方提供了编译好的静态库文件。如果需要源码编译此静态库,可参考 native-filecoin-ffi (opens new window),通常 damocles 源码编译此库以提升扇区封装效率。

# venus

$ git clone https://github.com/filecoin-project/venus.git
$ cd venus
$ git checkout -b v1.0.0 v1.0.0
$ git submodule update --init --recursive
$ make deps
$ make

# sophon-auth

$ git clone https://github.com/ipfs-force-community/sophon-auth.git
$ cd sophon-auth
$ git checkout -b v1.0.0 v1.0.0
$ make 

# sophon-gateway

$ git clone https://github.com/ipfs-force-community/sophon-gateway.git
$ cd sophon-gateway
$ git checkout -b v1.0.0 v1.0.0
$ git submodule update --init --recursive
$ make

提示

如果遇到编译错误:github.com/dgraph-io/badger/v3@v3.2011.1/fb/BlockOffset.go:6:2: missing go.sum entry for module providing package github.com/google/flatbuffers/go (imported by github.com/dgraph-io/badger/v3/table); to add: go get github.com/dgraph-io/badger/v3/table@v3.2011.1 ,先执行:

$ go get github.com/google/flatbuffers@v1.12.1

# sophon-messager

$ git clone https://github.com/ipfs-force-community/sophon-messager.git
$ cd sophon-messager
$ git checkout -b v1.0.0 v1.0.0
$ make 

# sophon-miner

$ git clone https://github.com/ipfs-force-community/sophon-miner.git
$ cd sophon-miner
$ git checkout -b v1.0.0 v1.0.0
$ git submodule update --init --recursive
$ make

# venus-wallet

参考 venus-wallet 项目的 readme 文档中 Build (opens new window)

# droplet

参考 droplet 的产品文档 (opens new window)

# damocles

参考 damocles 的产品文档 (opens new window)