Separating implementations into a blockchain component and one or more mining and market components presents an opportunity to encourage implementation diversity while reusing non-security-critical components.
Disclaimer: Reporting issues
This repo shared the issue tracker with lotus. Please report your issues at the lotus issue tracker
- storagemarket: for finding, negotiating, and consummating deals to store data between clients and providers (storage miners).
- retrievalmarket: for finding, negotiating, and consummating deals to retrieve data between clients and providers (retrieval miners).
- filestore: a wrapper around os.File for use by pieceio, storagemarket, and retrievalmarket.
- pieceio: utilities that take IPLD graphs and turn them into pieces. Used by storagemarket.
- piecestore: a database for storing deal-related PieceInfo and CIDInfo. Used by storagemarket and retrievalmarket.
Related components in other repos:
- go-data-transfer: for exchanging piece data between clients and miners, used by storage & retrieval market modules.
- The Markets in Filecoin section of the Filecoin Specification contains the canonical spec.
- GoDoc for Storage Market contains an architectural overview and robust API documentation
- GoDoc for Retrieval Market contains an architectural overview and robust API documentation
go get "github.com/filecoin-project/go-fil-markets/<MODULENAME>"`
Documentation is in the README for each module, listed in Components.
Day-to-day discussion takes place in the #fil-components channel of the Filecoin project chat. Usage or design questions are welcome.
This repository is dual-licensed under Apache 2.0 and MIT terms.
Copyright 2019. Protocol Labs, Inc.