ipfs-check
ipfs-check copied to clipboard
Allow for testing using only a CID
ipfs-check currently requires that the user knows who has their data, which generally seems like a good thing in terms of raising awareness of "IPFS is not a magic data box of free cloud storage, it just helps you find who has your stuff".
However, if a user clicks a link ipfs.io/ipfs/QmFooBar
on some website they have no way of knowing the PeerID that is supposed to have their data this means that the user who clicks the link might experience "IPFS doesn't work" rather than "I better tell website.tld that their link is busted".
Perhaps just giving a CID could trigger the following:
- Check the DHT for any providers, if none then error
- Check each of the providers to see if they are dialable and Bitswap thinks they have the data
Users could then see feedback like:
- Data is not advertised in the DHT
- X/Y providers are reachable
- X/Y dialable providers responded saying they had the data
The error help text could also be reoriented from speaking to a user trying to make data available via IPFS (e.g. Peer has not responded that it has the CID. Your node does not think it has the data you think it does, or it took too long to respond. Until this is resolved other machines will be unable to download that content from you.) to the perspective of a user trying to find data (e.g. Peer has not responded that it has the CID. The providing nodes do not think they have the data you think they do, or they took too long to respond. Until this is resolved other machines will be unable to download that content from them. Reach out to the content providers for to let them know their service is experiencing issues.)
Providing some instructions for obtaining multiaddr for that field would be extremely helpful and beneficial even without the completion of this task.
delegated routing exists now, and we would get multiaddrs by calling something like https://delegated-ipfs.dev/routing/v1/providers/$CID
e.g. https://delegated-ipfs.dev/routing/v1/providers/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi