Retrieval checking
Spark checkers perform the assigned retrievals from SPs.
Once the Spark checkers have determined the list of retrieval tasks they must perform in the round, they begin to run their checks.
There is an in-depth discussion on how this part of the protocol works here: https://blog.filstation.app/posts/how-spark-retrieves-content-stored-on-filecoin
Here is a summary taken from the blog post:
A Spark Checker’s retrieval test of (CID, providerID)
is performed with the following steps:
- Call Filecoin RPC API method
Filecoin.StateMinerInfo
to mapproviderID
toPeerID
. - Call
https://cid.contact/cid/{CID}
to obtain all retrieval providers for the given CID. - Filter the response to find the provider identified by
PeerID
found in Step 1 and obtain the multiaddr(s) where this provider serves retrievals. - Retrieve the root block of the content identified by
CID
from that multiaddr using Graphsync or the IPFS Trustless Gateway protocol (over HTTP). It uses the protocol advertised to IPNI for the retrieval. If both protocols are advertised, then it chooses HTTP. - Verify that the received block matches the
CID
.
← Previous
Next →
On this page