Consider how to make CAR Mirror work for any content addressed blockstore, not just IPFS
justindotpub opened this issue · 5 comments
Inspired by discussion with @softwareplumber on how CAR Mirror really should work for any content addressing system that needs to synchronize blockstores. Clearly this specific project is focusing on IPFS and Kubo, but this may help us get abstractions right for upcoming work beyond this project.
Also partly inspired by @cdata talking about the need for an agreed upon abstraction for blockstores across libs, ecosystems perhaps.
This will also help with testability, being able to test parts of the protocol without engaging the network for example.
Min abstractions is a content addressed blockstore where the blocks have links, and the ability to navigate that store.
Even things like CAR as the encoding can be taken out of our assumptions, allowing different uses of this plug in their own encoding and decoding.
We'll need an abstraction for resolving the diff
parameter as well (e.g. resolving mutable pointers like ipns, dnslink, ... to a CID)
A generic approach for this is now in go-car-mirror. Closing this issue.