# droplet 的配置解释
# 常用配置项说明
这里我们对比较常用的配置项进行说明。
# 链服务配置
- 包括:同步节点,消息节点,签名节点及授权节点。
[ChainService]
Url = "/ip4/192.168.200.21/tcp/45132"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
[Node]
Url = "/ip4/192.168.200.21/tcp/3453"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
[Messager]
Url = "/ip4/192.168.200.21/tcp/39812"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
[Signer]
Type = "gateway"
Url = "/ip4/192.168.200.21/tcp/45132"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
[AuthNode]
Url = "http://192.168.200.21:8989"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
# API
监听配置
droplet
默认监听端口为 127.0.0.1:41235
, 为了支持不同网络的访问请求, 需要修改API
的监听地址:
[API]
ListenAddress = "/ip4/0.0.0.0/tcp/41235"
# PublishMsgPeriod
配置
droplet
在收到 droplet-client
的订单时, 并不会马上就发布 ClientDealProposal
消息,会等待一定的时间, 由配置文件中的 PublishMsgPeriod
项来控制,在测试时可以将此项设置为较小值减少等待时间。下面的设置,将等待时间设置为10秒。
PublishMsgPeriod = "10s"
# PieceStorage
配置
目前 droplet
支持两种 Piece
数据的存储模式:
- 文件系统
- 对象存储
[PieceStorage]
[[PieceStorage.Fs]]
Name = "local"
Enable = true
Path = "/mnt/pieces"
[[PieceStorage.S3]]
Name = "oss"
Enable = false
EndPoint = ""
AccessKey = ""
SecretKey = ""
Token = ""
也可以通过命令配置,命令设置不需要重启进程。命令设置后会更新配置文件:
# 本地文件系统存储
./droplet piece-storage add-fs --path="/piece/storage/path" --name="local"
# 对象存储
./droplet piece-storage add-s3 --endpoint=<url> --name="oss"
# Miners
配置
droplet
服务的矿工及每个矿工的参数,配置如下:
[[Miners]]
Addr = "f01000"
Account = "testuser01"
ConsiderOnlineStorageDeals = true
ConsiderOfflineStorageDeals = true
ConsiderOnlineRetrievalDeals = true
ConsiderOfflineRetrievalDeals = true
ConsiderVerifiedStorageDeals = true
ConsiderUnverifiedStorageDeals = true
PieceCidBlocklist = []
ExpectedSealDuration = "24h0m0s"
MaxDealStartDelay = "336h0m0s"
PublishMsgPeriod = "1h0m0s"
MaxDealsPerPublishMsg = 8
MaxProviderCollateralMultiplier = 2
Filter = ""
RetrievalFilter = ""
TransferPath = ""
MaxPublishDealsFee = "0 FIL"
MaxMarketBalanceAddFee = "0 FIL"
[CommonProviderConfig.RetrievalPricing]
Strategy = "default"
[CommonProviderConfig.RetrievalPricing.Default]
VerifiedDealsFreeTransfer = true
[CommonProviderConfig.RetrievalPricing.External]
Path = ""
[CommonProviderConfig.AddressConfig]
DisableWorkerFallback = false
提示
如果有多个矿工,将上述配置拷贝一份即可。如果矿工比较多,那配置文件会很长,后续会考虑优化
# 一份典型的 droplet
全量配置
# ****** 数据传输参数配置 ********
SimultaneousTransfersForStorage = 20
SimultaneousTransfersForStoragePerClient = 20
SimultaneousTransfersForRetrieval = 20
# ****** 全局基础参数配置 ********
[CommonProvider]
ConsiderOnlineStorageDeals = true
ConsiderOfflineStorageDeals = true
ConsiderOnlineRetrievalDeals = true
ConsiderOfflineRetrievalDeals = true
ConsiderVerifiedStorageDeals = true
ConsiderUnverifiedStorageDeals = true
PieceCidBlocklist = []
ExpectedSealDuration = "24h0m0s"
MaxDealStartDelay = "336h0m0s"
PublishMsgPeriod = "1h0m0s"
MaxDealsPerPublishMsg = 8
MaxProviderCollateralMultiplier = 2
Filter = ""
RetrievalFilter = ""
TransferPath = ""
MaxPublishDealsFee = "0 FIL"
MaxMarketBalanceAddFee = "0 FIL"
RetrievalPaymentAddress = ""
DealPublishAddress = []
[CommonProvider.RetrievalPricing]
Strategy = "default"
[CommonProvider.RetrievalPricing.Default]
VerifiedDealsFreeTransfer = true
[CommonProvider.RetrievalPricing.External]
Path = ""
# 每个矿工可以有独立的基础参数,没有配置时使用全局配置,配置方式如下:
# ****** miner基础参数配置 ********
[[Miners]]
Addr = "f01000"
Account = "testuser01"
ConsiderOnlineStorageDeals = true
ConsiderOfflineStorageDeals = true
ConsiderOnlineRetrievalDeals = true
ConsiderOfflineRetrievalDeals = true
ConsiderVerifiedStorageDeals = true
ConsiderUnverifiedStorageDeals = true
PieceCidBlocklist = []
ExpectedSealDuration = "24h0m0s"
MaxDealStartDelay = "336h0m0s"
PublishMsgPeriod = "1h0m0s"
MaxDealsPerPublishMsg = 8
MaxProviderCollateralMultiplier = 2
Filter = ""
RetrievalFilter = ""
TransferPath = "/mnt/transfer"
MaxPublishDealsFee = "0 FIL"
MaxMarketBalanceAddFee = "0 FIL"
RetrievalPaymentAddress = ""
DealPublishAddress = []
[CommonProvider.RetrievalPricing]
Strategy = "default"
[CommonProvider.RetrievalPricing.Default]
VerifiedDealsFreeTransfer = true
[CommonProvider.RetrievalPricing.External]
Path = ""
# ****** droplet 网络配置 ********
[API]
ListenAddress = "/ip4/127.0.0.1/tcp/41235"
RemoteListenAddress = ""
Secret = "e647ee23cf95424162b974cd641b6a6479cbc7cb1209cc755f762c8248d50ba4"
Timeout = "30s"
[Libp2p]
ListenAddresses = ["/ip4/0.0.0.0/tcp/58418", "/ip6/::/tcp/0"]
AnnounceAddresses = []
NoAnnounceAddresses = []
PrivateKey = "08011240d47934b6fccf8b79786335a55ccc04bdb9c92866cae2c0cea2fdefe0f2e7c18650dfbde5dd126c2a23a0d1c60686d3dedd064b67ba97c6161dd8007f0675e1a9"
# ****** venus 组件服务配置 ********
[ChainService]
Url = "/ip4/192.168.200.21/tcp/45132"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
[Node]
Url = "/ip4/192.168.200.151/tcp/3453"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoidGVzdC11c2VyMDEiLCJwZXJtIjoic2lnbiIsImV4dCI6IiJ9.ETjNy3HMDS3ScZ3cax9xYb6AopNWYp4y71lZGCvYxMg"
[Messager]
Url = "/ip4/127.0.0.1/tcp/39812"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoidGVzdC11c2VyMDEiLCJwZXJtIjoic2lnbiIsImV4dCI6IiJ9.ETjNy3HMDS3ScZ3cax9xYb6AopNWYp4y71lZGCvYxMg"
[Signer]
Type = "gateway"
Url = "/ip4/127.0.0.1/tcp/45132"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoidGVzdC11c2VyMDEiLCJwZXJtIjoic2lnbiIsImV4dCI6IiJ9.ETjNy3HMDS3ScZ3cax9xYb6AopNWYp4y71lZGCvYxMg"
[AuthNode]
Url = "http://127.0.0.1:8989"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoidGVzdC11c2VyMDEiLCJwZXJtIjoic2lnbiIsImV4dCI6IiJ9.ETjNy3HMDS3ScZ3cax9xYb6AopNWYp4y71lZGCvYxMg"
# ******** 数据库设置 ********
[Mysql]
ConnectionString = ""
MaxOpenConn = 100
MaxIdleConn = 100
ConnMaxLifeTime = "1m"
Debug = false
# ******** 扇区存储设置 ********
[PieceStorage]
S3 = []
[[PieceStorage.Fs]]
Name = "local"
ReadOnly = false
Path = "./.vscode/test"
# ******** 日志设置 ********
[Journal]
Path = "journal"
# ******** DAG存储设置 ********
[DAGStore]
RootDir = "/root/.droplet/dagstore"
MaxConcurrentIndex = 5
MaxConcurrentReadyFetches = 0
MaxConcurrencyStorageCalls = 100
GCInterval = "1m0s"
Transient = ""
Index = ""
UseTransient = false
# ******** 数据检索配置 ********
RetrievalPaymentAddress = ""
# ****** Metric 配置 ********
[Metrics]
Enabled = false
[Metrics.Exporter]
Type = "prometheus"
[Metrics.Exporter.Prometheus]
RegistryType = "define"
Namespace = ""
EndPoint = "/ip4/0.0.0.0/tcp/4568"
Path = "/debug/metrics"
ReportingPeriod = "10s"
[Metrics.Exporter.Graphite]
Namespace = ""
Host = "127.0.0.1"
Port = 4568
ReportingPeriod = "10s"
接下来,将这个配置分成基础参数,网络配置,Venus组件配置等多个部分进行讲解
# 全量配置说明
# 数据传输参数配置
# 存储订单的最大同时传输数目
# 整数类型 默认为:20
SimultaneousTransfersForStorage = 20
# 针对每一个客户端的存储订单最大同时传输数目
# 整数类型 默认为:20
SimultaneousTransfersForStoragePerClient = 20
# 获取数据最大同时传输数目
# 整数类型 默认为:20
SimultaneousTransfersForRetrieval = 20
# 基础参数配置
这部分的配置主要是决定了了 droplet
在进行工作时的偏好,满足定制化的需求,其中各项配置的作用如下:
# 决定是否接受线上存储订单
# 布尔值 默认为 true
ConsiderOnlineStorageDeals = true
# 决定是否接受线下存储订单
# 布尔值 默认为 true
ConsiderOfflineStorageDeals = true
# 决定是否接受线上数据获取订单
# 布尔值 默认为 true
ConsiderOnlineRetrievalDeals = true
# 决定是否接受线下数据获取订单
# 布尔值 默认为 true
ConsiderOfflineRetrievalDeals = true
# 决定是否接受经过验证的存储订单
# 布尔值 默认为 true
ConsiderVerifiedStorageDeals = true
# 决定是否接受未经过验证的存储订单
# 布尔值 默认为 true
ConsiderUnverifiedStorageDeals = true
# 订单数据黑名单
# 字符串数组 其中每一个字符串都是CID 默认为空
# CID在黑名单中的数据,不会被用于构建订单
PieceCidBlocklist = []
# 订单数据被封装完成的最大时间预期
# 时间字符串 默认为:"24h0m0s"
# 时间字符串是由数字和时间单位组成的字符串,数字包括整数和小数,合法的单位包括 "ns", "us" (or "µs"), "ms", "s", "m", "h".
ExpectedSealDuration = "24h0m0s"
# 预期订单封装开始前等待时间
# 时间字符串 默认为:"336h0m0s"
MaxDealStartDelay = "336h0m0s"
# 消息推送上链的周期
# 时间字符串 默认为:"1h0m0s"
PublishMsgPeriod = "5m0s"
# 在一个消息推送周期内的最大订数量
# 整数类型 默认为8
MaxDealsPerPublishMsg = 8
# 最大的存储供应商抵押乘法因子
# 整数类型 默认为:2
MaxProviderCollateralMultiplier = 2
# 通过外部执行器来筛选存储订单,是可执行的程序或脚本
Filter = ""
# 通过外部执行器来筛选检索订单,是可执行的程序或脚本
RetrievalFilter = ""
# 订单传输数据的存储位置
# 字符串类型 可选 为空值时默认使用`DROPLET_REPO`的路径
TransferPath = ""
# 发送订单消息的最大费用
# FIL类型 默认为:"0 FIL"
# FIL类型字符串形式为 整数+" FIL"
MaxPublishDealsFee = "0 FIL"
# 发送增加抵押消息时花费的最大费用
# FIL类型 默认为:"0 FIL"
MaxMarketBalanceAddFee = "0 FIL"
# 保留字段,当前配置无效
[RetrievalPricing]
# 使用的策略类型
# 字符串类型 可以选择"default"和"external" 默认为:"default"
# 前者使用内置的默认策略,后者使用外部提供的脚本自定义的策略
Strategy = "default"
[RetrievalPricing.Default]
# 对于经过认证的订单数据,是否定价为0
# 布尔值 默认为 "true"
# 只有Strategy = "default" 才会生效
VerifiedDealsFreeTransfer = true
[RetrievalPricing.External]
# 定义外部策略的脚本的路径
# 字符串类型 如果选择external策略时,必选
Path = ""
# 该设置为保留字段,当前无效
[AddressConfig]
# 是否降低使用woker地址发布消息的优先级,如果是,则只有在其他可选地址没有的情况下才会使用woker的地址发消息
# 布尔值 默认为 false
DisableWorkerFallback = false
[[AddressConfig.DealPublishControl]]
# 发布订单消息的地址
# 字符串类型 必选
Addr = ""
# 持有相应地址的账户
# 字符串类型 必选
Account =""
# droplet 网络配置
这部分的配置决定了 droplet 和外界交互的接口
# [API]
droplet 对外提供服务的接口
[API]
# droplet 提供服务监听的地址
# 字符串类型,必选项,默认为:"/ip4/127.0.0.1/tcp/41235"
ListenAddress = "/ip4/127.0.0.1/tcp/41235"
# 保留字段
RemoteListenAddress = ""
# 密钥用于加密通信
# 字符串类型 可选项(没有则自动生成)
Secret = "878f9c1f88c6f68ee7be17e5f0848c9312897b5d22ff7d89ca386ed0a583da3c"
# 保留字段
Timeout = "30s"
# [Libp2p]
droplet 在P2P网络中通信时使用的 通信地址
[Libp2p]
# 监听的网络地址
# 字符串数组 必选 默认为:["/ip4/0.0.0.0/tcp/58418", "/ip6/::/tcp/0"]
ListenAddresses = ["/ip4/0.0.0.0/tcp/58418", "/ip6/::/tcp/0"]
# 保留字段
AnnounceAddresses = []
# 保留字段
NoAnnounceAddresses = []
# 用于生成p2p节点的peerid
# 字符串 可选(没设置则自动生成)
PrivateKey = "08011240ae580daabbe087007d2b4db4e880af10d582215d2272669a94c49c854f36f99c35"
# venus 组件服务配置
当 droplet
接入venus组件使用时,需要配置相关组件的API。
# [ChainService]
venus 链服务统一入口配置。
该配置项的 Url
和 Token
会成为后续配置项 Node
, Messager
以及 AuthNode
的默认值
[ChainService]
Url = "/ip4/192.168.200.21/tcp/45132"
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiemwiLCJwZXJtIjoiYWRtaW4iLCJleHQiOiIifQ.3u-PInSUmX-8f6Z971M7JBCHYgFVQrvwUjJfFY03ouQ"
# [Node]
venus链同步节点接入配置
[Node]
# 链服务的入口
# 字符串类型 必选(也可以直接通过命令行的--node-url flag 进行配置)
Url = "/ip4/192.168.200.128/tcp/3453"
# venus 系列组件的鉴权token
# 字符串类型 必选(也可以直接通过命令行的 --auth-token flag 进行配置)
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiZm9yY2VuZXQtbnYxNiIsInBlcm0iOiJhZG1pbiIsImV4dCI6IiJ9.PuzEy1TlAjjNiSUu_tbHi2XPUritDLm9Xf5UW3MHRe8"
# [Messager]
venus 消息服务接入配置
[Messager]
# 消息服务入口
# 字符串类型 可选(也可以直接通过命令行的 --messager-url flag 进行配置) 不接入链服务时可不填
Url = "/ip4/192.168.200.128/tcp/39812/"
# venus 系列组件的鉴权token
# 字符串类型 可选(也可以直接通过命令行的 --auth-token flag 进行配置) 不接入链服务时可不填
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiZm9yY2VuZXQtbnYxNiIsInBlcm0iOiJhZG1pbiIsImV4dCI6IiJ9.PuzEy1TlAjjNiSUu_tbHi2XPUritDLm9Xf5UW3MHRe8"
# [Signer]
venus 提供签名服务的组件,它可以由两种类型:由venus-wallet直接提供的签名服务和由sophon-gateway提供的间接签名服务
[Signer]
# 签名服务组件的类型
# 字符串类型 枚举:"gateway","wallet","lotusnode"
Type = "gateway"
# 签名服务入口
# 字符串类型 必选(也可以直接通过命令行的 --signer-url flag 进行配置)
Url = "/ip4/192.168.200.128/tcp/45132/"
# venus 系列组件的鉴权token
# 字符串类型 必选(也可以直接通过命令行的 --auth-token flag 进行配置)
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiZm9yY2VuZXQtbnYxNiIsInBlcm0iOiJhZG1pbiIsImV4dCI6IiJ9.PuzEy1TlAjjNiSUu_tbHi2XPUritDLm9Xf5UW3MHRe8"
# [AuthNode]
venus 提供鉴权服务接入配置
[AuthNode]
# 鉴权服务入口
# 字符串类型 可选(也可以直接通过命令行的 --signer-url flag 进行配置) 不接入链服务时可不填
Url = "http://192.168.200.128:8989"
# venus 系列组件的鉴权token
# 字符串类型 可选(也可以直接通过命令行的 --auth-token flag 进行配置) 不接入链服务时可不填
Token = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJuYW1lIjoiZm9yY2VuZXQtbnYxNiIsInBlcm0iOiJhZG1pbiIsImV4dCI6IiJ9.PuzEy1TlAjjNiSUu_tbHi2XPUritDLm9Xf5UW3MHRe8"
# 矿工配置
预置矿工信息
[[Miners]]
# 矿工的地址
# 字符串类型 必选
Addr ="f01000"
# 账户名,可以随意设定
# 字符串类型 可选
Account = ""
# 基础参数,见上文
提示
基础参数在不配置时将会使用 CommonProvider
, 如下:
[[Miners]]
Addr = "f02472"
Account = "litao"
基础参数一旦配置了一项,则所有项都必须自己配置,比如配置:
[[Miners]]
Addr = "f02472"
Account = "litao"
TransferPath = "/mnt/transfer/2472"
这样的配置会导致基础参数中的其他配置项都去各自类型的零值,而不会用 CommonProvider
中的配置,
如 f02472
对应的 ConsiderOnlineStorageDeals
等于 false
, 而并非是 CommonProvider
中的 true.
这一点需要特别注意,正确的配置方式:
[[Miners]]
Addr = "f02472"
Account = "litao"
TransferPath = "/mnt/transfer/2472"
ConsiderOnlineStorageDeals = true
ConsiderOfflineStorageDeals = true
ConsiderOnlineRetrievalDeals = true
ConsiderOfflineRetrievalDeals = true
ConsiderVerifiedStorageDeals = true
ConsiderUnverifiedStorageDeals = true
PieceCidBlocklist = []
ExpectedSealDuration = "24h0m0s"
MaxDealStartDelay = "336h0m0s"
PublishMsgPeriod = "1m0s"
MaxDealsPerPublishMsg = 8
MaxProviderCollateralMultiplier = 2
Filter = ""
RetrievalFilter = ""
MaxPublishDealsFee = "0 FIL"
MaxMarketBalanceAddFee = "0 FIL"
RetrievalPaymentAddress = ""
[RetrievalPricing]
Strategy = "default"
[RetrievalPricing.Default]
VerifiedDealsFreeTransfer = true
[RetrievalPricing.External]
Path = ""
这样不是很灵活,以后会考虑优化.
# 数据库配置
droplet 运行过程中产生的数据的存储数据库的设置 目前支持BadgerDB和MySQLDB,默认使用BadgerDB
# [Mysql]
MySQLDB的配置
[Mysql]
# 用于连接MySQL数据库的 connection string
# 字符串类型 如果要使用 MySQL 数据库的话,这是必选,否则使用默认的BadgerDB
ConnectionString = ""
# 打开连接的最大数量
# 整数类型 默认为100
MaxOpenConn = 100
# 空闲连接的最大数量
# 整数类型 默认为100
MaxIdleConn = 100
# 可复用连接的最大生命周期
# 时间字符串 默认为:"1m"
# 时间字符串是由数字和时间单位组成的字符串,数字包括整数和小数,合法的单位包括 "ns", "us" (or "µs"), "ms", "s", "m", "h".
ConnMaxLifeTime = "1m"
# 是否输出数据库相关的调试信息
# 布尔值 默认false
Debug = false
# 扇区存储配置
配置 droplet
导入数据后生成的扇区的存储空间
支持使用两种类型的数据存储方式: 文件系统存储和对象存储
# [[PieceStorage.Fs]]
配置本地文件系统作为扇区存储
对于大量数据的扇区,建议挂载和Damocles
共用的文件系统进行配置
[PieceStorage]
[[PieceStorage.Fs]]
# 存储空间的名称,它在 `droplet` 的所有的存储空间中,必须是唯一的
# 字符串类型 必选
Name = "local"
# 该存储空间是否可写( read only false 即为可写)
# 布尔值 默认为 false
ReadOnly = false
# 该存储空间在本地文件系统中的路径
# 字符串类型 必选
Path = "/piecestorage/"
[PieceStorage]
[[PieceStorage.S3]]
# 存储空间的名称,它在 `droplet` 的所有的存储空间中,必须是唯一的
# 字符串类型 必选
Name = "s3"
# 该存储空间是否可写( read only false 即为可写)
# 布尔值 默认为 false
ReadOnly = true
# 对象存储服务的入口
# 字符串类型 必选
# 支持单独的EndPoint("oss-cn-shanghai.aliyuncs.com")和完整的EndPoint Url("http://oss-cn-shanghai.aliyuncs.com")
EndPoint = "oss-cn-shanghai.aliyuncs.com"
# 对象存储服务的Bucket名称
# 字符串类型 必选
Bucket = "droplet"
# 指定在Bucket 中的子目录
# 字符串类型 可选
SubDir = "dir1/dir2"
# 访问对象存储服务的参数
# 字符串类型 其中AccessKey,SecretKey必选,token 可选
AccessKey = "LTAI5t6HiFgsqN6eVJ......"
SecretKey = "AlFNH9NakUsVjVRxMHaaYP7p......"
Token = ""
# 日志设置
配置 droplet
使用过程中,产生日志存储的位置
[Journal]
# 日志存储的位置
# 字符串类型 默认为:"journal" (即`DROPLET_REPO`文件夹下面的journal文件夹)
Path = "journal"
# DAG存储设置
DAG 数据存储的配置
# 参考 github.com/filecoin-project/dagstore/dagstore.go
[DAGStore]
# DAG数据存储的根目录
# 字符串类型 默认为: "<DROPLET_REPO_PATH>/dagstore"
RootDir = "/root/.droplet/dagstore"
# 可以同时进行索引作业的最大数量
# 整数类型 默认为5 0表示不限制
MaxConcurrentIndex = 5
# 可以同时被抓取的最大未封装订单的数量
# 整数类型 默认为0 0表示不限制
MaxConcurrentReadyFetches = 0
# 可以被同时调用的存储API的最大数量
# 整数类型 默认为100
MaxConcurrencyStorageCalls = 100
# DAG 数据进行垃圾回收的时间间隔
# 时间字符串 默认为:"1m0s"
# 时间字符串是由数字和时间单位组成的字符串,数字包括整数和小数,合法的单位包括 "ns", "us" (or "µs"), "ms", "s", "m", "h".
GCInterval = "1m0s"
# 临时文件的存储路径
# 字符串类型 可选 不设置则使用RooDir目录下的'transients'文件夹
Transient = ""
# 存储扇区索引数据的路径
# 字符串类型 可选 不设置则使用RooDir目录下的'index'文件夹
Index = ""
# 不使用本地缓存,直接读取数据源
# 布尔类型 默认为 false
UseTransient = false
# 数据检索
获取订单中存储的扇区数据时的相关配置
# [RetrievalPaymentAddress]
获取订单扇区数据时,使用的收款地址
RetrievalPaymentAddress = ""
# Metric 配置
配置 Metric 相关的参数
[Metrics]
# 是否启用 Metric
# 布尔值 默认为 false
Enabled = false
# Metric 导出设置
[Metrics.Exporter]
# Metric 导出的类型
# 字符串类型 可选值为 "prometheus" 和 "graphite" 默认为 "prometheus"
Type = "prometheus"
# Prometheus 导出设置
[Metrics.Exporter.Prometheus]
# 注册器的类型
# 字符串类型 可选值为 "define" 和 "default" 默认为 "define"
# define: 空白全新的注册器; default:Prometheus 提供的默认注册器
RegistryType = "define"
# 命名空间
# 字符串类型 默认为 ""
Namespace = ""
# 监听地址
# 字符串类型 默认为 "/ip4/0.0.0.0/tcp/4568"
EndPoint = "/ip4/0.0.0.0/tcp/4568"
# Metrics 指标的访问路径
# 字符串类型 默认为 "/debug/metrics"
Path = "/debug/metrics"
# Metric 指标聚合的周期
# 时间字符串 默认为 "10s"
ReportingPeriod = "10s"
# Graphite 导出设置
[Metrics.Exporter.Graphite]
# 命名空间
# 字符串类型 默认为 ""
Namespace = ""
# 监听地址
# 字符串类型 默认为 "127.0.0.1"
Host = "127.0.0.1"
# 监听端口
# 整数类型 默认为 4568
Port = 4568
# Metric 指标聚合的周期
# 时间字符串 默认为 "10s"
ReportingPeriod = "10s"