-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: markets: Integrate index ingest protocol and retrieve by any CID #7313
Conversation
6a74235
to
3148e0b
Compare
3148e0b
to
ae01c1e
Compare
3148e0b
to
25fa97e
Compare
Codecov Report
@@ Coverage Diff @@
## master #7313 +/- ##
==========================================
- Coverage 40.67% 40.46% -0.21%
==========================================
Files 666 675 +9
Lines 72932 73500 +568
==========================================
+ Hits 29662 29741 +79
- Misses 38071 38527 +456
- Partials 5199 5232 +33
Continue to review full report at Codecov.
|
a7bf760
to
2792fe1
Compare
2792fe1
to
588d6ec
Compare
Integrate indexer provider
Are there any setup docs you could link in this PR? |
#8087 has a lot of docs around it, currently |
- Add comment to clarify the reason for loop in testkit - Trim common prefix in state printed in CLI commands for better readability - Upgrade to a tagged release of `go-fil-markets` that includes indexing work; see: filecoin-project/go-fil-markets#673 - Fix typo in CLI usage. - Add comments to note that it is safe to use fx `OnStart` context when starting the provider engine. - Fix string concatenation in error message formatting.
Integrate the latest `index-provider` and reflect the changes to engine configuration. Note that this commit disables announcements of indices on the network by default as requested for initial merge to master. Introduce dedicated index provider configuration parameters with documentation and defaults that match the defaults in index-provider. Re-generate code as needed.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Feels very close to landing. CI is failing.
Looks like there is an unintentional ffi update pushed.
e4983b5
to
aacc246
Compare
6bb5f26
to
a52b4b7
Compare
Upgrade to the latest `go-fil-markets` that integrates concrete multicodec for the indexing metadata.
The dependency was used in the chain API. Integrated the new fetcher factory.
99b082a
to
1db0f8a
Compare
1db0f8a
to
7dcfeee
Compare
Update dependency to go-fil-markets in `lotus-soup` module and remove the redundant replace directive.
Related Issues
The motivation for this work is to solve content routing in Filecoin network, and facilitate retrieval of content by any CID.
Fixes:
Proposed Changes
The work here integrates the indexing ingestion protocol into lotus using the default implementation.
As a result, the multihashes contained in successful deals are announced onto indexer ingest gossipsub topic. Similarly, multihashes that belonged to slashed or expired deals are advertised as no longer available. The work exposes an endpoint on the markets process to allow indexer nodes to sync the list of multihashes for processing. The indexers use this information to then provider a service where a user can look up which SP provides a given CID or Multihash.
The work also introduces a peer protection API that allows dynamic change to the list of peer IDs the connection to which is protected by the daemon process. This is introduced so that: 1) there is no need to restart the daemon in order to make changes to this config parameter, and 2) automatically protect connections from markets to daemon process to allow indexing gossip messages to propagate through the network via Damon's connection to Filecoin bootstrap peers.
The
lotus
CLI is expanded to provide a set of utility commands that allow bulk announcements of all deals to indexers, along with functionality to list and modify peer IDs protected by the daemon process.Additional Info
Discussion:
Integrates indexing integration work done in
go-fil-markets
:Additionally, a range of work is done in
filecoin-project/dagstore
to accommodate the indexing integration as well as rolling out a new CARv2 index, that stores the multihash code as well as the multihash digest in the CARv2 indices.The core index provider functionality integrated is implemented in
filecoin-project/index-provider
. The Indexing protocol and indexer node can be found infilecoin-project/storetheindex
.Checklist
Before you mark the PR ready for review, please make sure that:
<PR type>: <area>: <change being made>
fix: mempool: Introduce a cache for valid signatures
PR type
: fix, feat, INTERFACE BREAKING CHANGE, CONSENSUS BREAKING, build, chore, ci, docs,perf, refactor, revert, style, testarea
: api, chain, state, vm, data transfer, market, mempool, message, block production, multisig, networking, paychan, proving, sealing, wallet, deps