Documentation ¶
Index ¶
- Constants
- Variables
- func ConfigComment(t interface{}) ([]byte, error)
- func ConfigUpdate(cfgCur, cfgDef interface{}, comment bool) ([]byte, error)
- func FromFile(path string, def interface{}) (interface{}, error)
- func FromReader(reader io.Reader, def interface{}) (interface{}, error)
- func StorageFromFile(path string, def *stores.StorageConfig) (*stores.StorageConfig, error)
- func StorageFromReader(reader io.Reader) (*stores.StorageConfig, error)
- func WriteStorageFile(path string, config stores.StorageConfig) error
- type Backup
- type Boost
- type Common
- type DealmakingConfig
- type DocField
- type Duration
- type LotusDealmakingConfig
- type WalletsConfig
Constants ¶
View Source
const ( // RetrievalPricingDefault configures the node to use the default retrieval pricing policy. RetrievalPricingDefaultMode = "default" // RetrievalPricingExternal configures the node to use the external retrieval pricing script // configured by the user. RetrievalPricingExternalMode = "external" )
Variables ¶
View Source
var DefaultDefaultMaxFee = types.MustParseFIL("0.07")
View Source
var DefaultSimultaneousTransfers = uint64(20)
View Source
var Doc = map[string][]DocField{ "Backup": []DocField{ { Name: "DisableMetadataLog", Type: "bool", Comment: `Note that in case of metadata corruption it might be much harder to recover your node if metadata log is disabled`, }, }, "Boost": []DocField{ { Name: "Storage", Type: "lotus_config.SealerConfig", Comment: ``, }, { Name: "SealerApiInfo", Type: "string", Comment: ``, }, { Name: "SectorIndexApiInfo", Type: "string", Comment: ``, }, { Name: "Dealmaking", Type: "DealmakingConfig", Comment: ``, }, { Name: "Wallets", Type: "WalletsConfig", Comment: ``, }, { Name: "LotusDealmaking", Type: "lotus_config.DealmakingConfig", Comment: `Lotus configs`, }, { Name: "LotusFees", Type: "lotus_config.MinerFeeConfig", Comment: ``, }, { Name: "DAGStore", Type: "lotus_config.DAGStoreConfig", Comment: ``, }, { Name: "IndexProvider", Type: "lotus_config.IndexProviderConfig", Comment: ``, }, }, "Common": []DocField{ { Name: "API", Type: "lotus_config.API", Comment: ``, }, { Name: "Backup", Type: "lotus_config.Backup", Comment: ``, }, { Name: "Libp2p", Type: "lotus_config.Libp2p", Comment: ``, }, { Name: "Pubsub", Type: "lotus_config.Pubsub", Comment: ``, }, }, "DealmakingConfig": []DocField{ { Name: "ConsiderOnlineStorageDeals", Type: "bool", Comment: `When enabled, the miner can accept online deals`, }, { Name: "ConsiderOfflineStorageDeals", Type: "bool", Comment: `When enabled, the miner can accept offline deals`, }, { Name: "ConsiderOnlineRetrievalDeals", Type: "bool", Comment: `When enabled, the miner can accept retrieval deals`, }, { Name: "ConsiderOfflineRetrievalDeals", Type: "bool", Comment: `When enabled, the miner can accept offline retrieval deals`, }, { Name: "ConsiderVerifiedStorageDeals", Type: "bool", Comment: `When enabled, the miner can accept verified deals`, }, { Name: "ConsiderUnverifiedStorageDeals", Type: "bool", Comment: `When enabled, the miner can accept unverified deals`, }, { Name: "PieceCidBlocklist", Type: "[]cid.Cid", Comment: `A list of Data CIDs to reject when making deals`, }, { Name: "ExpectedSealDuration", Type: "Duration", Comment: `Maximum expected amount of time getting the deal into a sealed sector will take This includes the time the deal will need to get transferred and published before being assigned to a sector`, }, { Name: "MaxDealStartDelay", Type: "Duration", Comment: `Maximum amount of time proposed deal StartEpoch can be in future`, }, { Name: "PublishMsgPeriod", Type: "Duration", Comment: `When a deal is ready to publish, the amount of time to wait for more deals to be ready to publish before publishing them all as a batch`, }, { Name: "PublishMsgMaxDealsPerMsg", Type: "uint64", Comment: `The maximum number of deals to include in a single PublishStorageDeals message`, }, { Name: "PublishMsgMaxFee", Type: "types.FIL", Comment: `The maximum network fees to pay when sending the PublishStorageDeals message`, }, { Name: "MaxProviderCollateralMultiplier", Type: "uint64", Comment: `The maximum collateral that the provider will put up against a deal, as a multiplier of the minimum collateral bound`, }, { Name: "MaxStagingDealsBytes", Type: "int64", Comment: `The maximum allowed disk usage size in bytes of staging deals not yet passed to the sealing node by the markets service. 0 is unlimited.`, }, { Name: "SimultaneousTransfersForStorage", Type: "uint64", Comment: `The maximum number of parallel online data transfers for storage deals`, }, { Name: "SimultaneousTransfersForRetrieval", Type: "uint64", Comment: `The maximum number of parallel online data transfers for retrieval deals`, }, { Name: "StartEpochSealingBuffer", Type: "uint64", Comment: `Minimum start epoch buffer to give time for sealing of sector with deal.`, }, { Name: "DealProposalLogDuration", Type: "Duration", Comment: `The amount of time to keep deal proposal logs for before cleaning them up.`, }, { Name: "Filter", Type: "string", Comment: `A command used for fine-grained evaluation of storage deals see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details`, }, { Name: "RetrievalFilter", Type: "string", Comment: `A command used for fine-grained evaluation of retrieval deals see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details`, }, { Name: "RetrievalPricing", Type: "*lotus_config.RetrievalPricing", Comment: ``, }, }, "LotusDealmakingConfig": []DocField{ { Name: "PieceCidBlocklist", Type: "[]cid.Cid", Comment: `A list of Data CIDs to reject when making deals`, }, { Name: "ExpectedSealDuration", Type: "Duration", Comment: `Maximum expected amount of time getting the deal into a sealed sector will take This includes the time the deal will need to get transferred and published before being assigned to a sector`, }, { Name: "MaxDealStartDelay", Type: "Duration", Comment: `Maximum amount of time proposed deal StartEpoch can be in future`, }, { Name: "PublishMsgPeriod", Type: "Duration", Comment: `When a deal is ready to publish, the amount of time to wait for more deals to be ready to publish before publishing them all as a batch`, }, { Name: "MaxDealsPerPublishMsg", Type: "uint64", Comment: `The maximum number of deals to include in a single PublishStorageDeals message`, }, { Name: "MaxProviderCollateralMultiplier", Type: "uint64", Comment: `The maximum collateral that the provider will put up against a deal, as a multiplier of the minimum collateral bound`, }, { Name: "MaxStagingDealsBytes", Type: "int64", Comment: `The maximum allowed disk usage size in bytes of staging deals not yet passed to the sealing node by the markets service. 0 is unlimited.`, }, { Name: "SimultaneousTransfersForStorage", Type: "uint64", Comment: `The maximum number of parallel online data transfers for storage deals`, }, { Name: "SimultaneousTransfersForStoragePerClient", Type: "uint64", Comment: `The maximum number of simultaneous data transfers from any single client for storage deals. Unset by default (0), and values higher than SimultaneousTransfersForStorage will have no effect; i.e. the total number of simultaneous data transfers across all storage clients is bound by SimultaneousTransfersForStorage regardless of this number.`, }, { Name: "SimultaneousTransfersForRetrieval", Type: "uint64", Comment: `The maximum number of parallel online data transfers for retrieval deals`, }, { Name: "StartEpochSealingBuffer", Type: "uint64", Comment: `Minimum start epoch buffer to give time for sealing of sector with deal.`, }, { Name: "Filter", Type: "string", Comment: `A command used for fine-grained evaluation of storage deals see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details`, }, { Name: "RetrievalFilter", Type: "string", Comment: `A command used for fine-grained evaluation of retrieval deals see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details`, }, { Name: "RetrievalPricing", Type: "*lotus_config.RetrievalPricing", Comment: ``, }, }, "WalletsConfig": []DocField{ { Name: "Miner", Type: "string", Comment: `The "owner" address of the miner`, }, { Name: "PublishStorageDeals", Type: "string", Comment: `The wallet used to send PublishStorageDeals messages. Must be a control or worker address of the miner.`, }, { Name: "DealCollateral", Type: "string", Comment: `The wallet used as the source for storage deal collateral`, }, { Name: "PledgeCollateral", Type: "string", Comment: `Deprecated: Renamed to DealCollateral`, }, }, }
View Source
var MaxTraversalLinks uint64 = 32 * (1 << 20)
MaxTraversalLinks configures the maximum number of links to traverse in a DAG while calculating CommP and traversing a DAG with graphsync; invokes a budget on DAG depth and density.
Functions ¶
func ConfigComment ¶
func ConfigUpdate ¶
func FromFile ¶
FromFile loads config from a specified file overriding defaults specified in the def parameter. If file does not exist or is empty defaults are assumed.
func FromReader ¶
FromReader loads config from a reader instance.
func StorageFromFile ¶
func StorageFromFile(path string, def *stores.StorageConfig) (*stores.StorageConfig, error)
func StorageFromReader ¶
func StorageFromReader(reader io.Reader) (*stores.StorageConfig, error)
func WriteStorageFile ¶
func WriteStorageFile(path string, config stores.StorageConfig) error
Types ¶
type Backup ¶
type Backup struct { // When set to true disables metadata log (.lotus/kvlog). This can save disk // space by reducing metadata redundancy. // // Note that in case of metadata corruption it might be much harder to recover // your node if metadata log is disabled DisableMetadataLog bool }
type Boost ¶
type Boost struct { Common Storage lotus_config.SealerConfig SealerApiInfo string SectorIndexApiInfo string Dealmaking DealmakingConfig Wallets WalletsConfig // Lotus configs LotusDealmaking lotus_config.DealmakingConfig LotusFees lotus_config.MinerFeeConfig DAGStore lotus_config.DAGStoreConfig IndexProvider lotus_config.IndexProviderConfig }
Boost is a boost service config
func DefaultBoost ¶
func DefaultBoost() *Boost
func (*Boost) GetDealmakingConfig ¶
func (b *Boost) GetDealmakingConfig() lotus_config.DealmakingConfig
func (*Boost) SetDealmakingConfig ¶
func (b *Boost) SetDealmakingConfig(other lotus_config.DealmakingConfig)
func (*Boost) StorageManager ¶
func (c *Boost) StorageManager() sectorstorage.Config
Convert boost config to sectorstorage.Config
type Common ¶
type Common struct { API lotus_config.API Backup lotus_config.Backup Libp2p lotus_config.Libp2p Pubsub lotus_config.Pubsub }
Common is common config between full node and miner
type DealmakingConfig ¶
type DealmakingConfig struct { // When enabled, the miner can accept online deals ConsiderOnlineStorageDeals bool // When enabled, the miner can accept offline deals ConsiderOfflineStorageDeals bool // When enabled, the miner can accept retrieval deals ConsiderOnlineRetrievalDeals bool // When enabled, the miner can accept offline retrieval deals ConsiderOfflineRetrievalDeals bool // When enabled, the miner can accept verified deals ConsiderVerifiedStorageDeals bool // When enabled, the miner can accept unverified deals ConsiderUnverifiedStorageDeals bool // A list of Data CIDs to reject when making deals PieceCidBlocklist []cid.Cid // Maximum expected amount of time getting the deal into a sealed sector will take // This includes the time the deal will need to get transferred and published // before being assigned to a sector ExpectedSealDuration Duration // Maximum amount of time proposed deal StartEpoch can be in future MaxDealStartDelay Duration // When a deal is ready to publish, the amount of time to wait for more // deals to be ready to publish before publishing them all as a batch PublishMsgPeriod Duration // The maximum number of deals to include in a single PublishStorageDeals // message PublishMsgMaxDealsPerMsg uint64 // The maximum network fees to pay when sending the PublishStorageDeals message PublishMsgMaxFee types.FIL // The maximum collateral that the provider will put up against a deal, // as a multiplier of the minimum collateral bound MaxProviderCollateralMultiplier uint64 // The maximum allowed disk usage size in bytes of staging deals not yet // passed to the sealing node by the markets service. 0 is unlimited. MaxStagingDealsBytes int64 // The maximum number of parallel online data transfers for storage deals SimultaneousTransfersForStorage uint64 // The maximum number of parallel online data transfers for retrieval deals SimultaneousTransfersForRetrieval uint64 // Minimum start epoch buffer to give time for sealing of sector with deal. StartEpochSealingBuffer uint64 // The amount of time to keep deal proposal logs for before cleaning them up. DealProposalLogDuration Duration // A command used for fine-grained evaluation of storage deals // see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details Filter string // A command used for fine-grained evaluation of retrieval deals // see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details RetrievalFilter string RetrievalPricing *lotus_config.RetrievalPricing }
type Duration ¶
Duration is a wrapper type for time.Duration for decoding and encoding from/to TOML
func (Duration) MarshalText ¶
func (*Duration) UnmarshalText ¶
UnmarshalText implements interface for TOML decoding
type LotusDealmakingConfig ¶
type LotusDealmakingConfig struct { // A list of Data CIDs to reject when making deals PieceCidBlocklist []cid.Cid // Maximum expected amount of time getting the deal into a sealed sector will take // This includes the time the deal will need to get transferred and published // before being assigned to a sector ExpectedSealDuration Duration // Maximum amount of time proposed deal StartEpoch can be in future MaxDealStartDelay Duration // When a deal is ready to publish, the amount of time to wait for more // deals to be ready to publish before publishing them all as a batch PublishMsgPeriod Duration // The maximum number of deals to include in a single PublishStorageDeals // message MaxDealsPerPublishMsg uint64 // The maximum collateral that the provider will put up against a deal, // as a multiplier of the minimum collateral bound MaxProviderCollateralMultiplier uint64 // The maximum allowed disk usage size in bytes of staging deals not yet // passed to the sealing node by the markets service. 0 is unlimited. MaxStagingDealsBytes int64 // The maximum number of parallel online data transfers for storage deals SimultaneousTransfersForStorage uint64 // The maximum number of simultaneous data transfers from any single client // for storage deals. // Unset by default (0), and values higher than SimultaneousTransfersForStorage // will have no effect; i.e. the total number of simultaneous data transfers // across all storage clients is bound by SimultaneousTransfersForStorage // regardless of this number. SimultaneousTransfersForStoragePerClient uint64 // The maximum number of parallel online data transfers for retrieval deals SimultaneousTransfersForRetrieval uint64 // Minimum start epoch buffer to give time for sealing of sector with deal. StartEpochSealingBuffer uint64 // A command used for fine-grained evaluation of storage deals // see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details Filter string // A command used for fine-grained evaluation of retrieval deals // see https://docs.filecoin.io/mine/lotus/miner-configuration/#using-filters-for-fine-grained-storage-and-retrieval-deal-acceptance for more details RetrievalFilter string RetrievalPricing *lotus_config.RetrievalPricing }
type WalletsConfig ¶
type WalletsConfig struct { // The "owner" address of the miner Miner string // The wallet used to send PublishStorageDeals messages. // Must be a control or worker address of the miner. PublishStorageDeals string // The wallet used as the source for storage deal collateral DealCollateral string // Deprecated: Renamed to DealCollateral PledgeCollateral string }
Click to show internal directories.
Click to hide internal directories.