Integrate Curio as a backend for the storage node (BlobStore)
Implementation
So far just an API client for curio's HTTP API
Next things to implement are:
BlobStore implementation using GetPiece & AddPiece / UploadPiece
An aggregation function for PDP pieces till it's large enough to add as a root for the proof sets.
For Discussion
It's a bit unfortunate that all of Curio's APIs are piece cid based, cause as you can see they offer a very similar flow -> call API to get URL followed by a put to the endpoint that only succeeds if the piece validates. We really ought to be able to use that, except at this point we don't know the PieceCID (until we receive the data). Probably for the immediate moment, we just call the two apis in succession once we've received the blob and can calculate the PieceCID. But it would be nice to work on a more integrated approach later.
PDP Proof Sets -- An interesting question is how we want to trigger PDP proofset aggregation. As I see it, there are two approaches we could follow:
just trigger all the PDP stuff automatically on Blob.Put
actually make it a seperate and explicit UCAN call. I think this would be super interesting actually -- especially if we pushed it all the way to the client, sort of like a mini filecoin/offer, as this would give people the ability to skip out on PDP if they wanted to YOLO it -- maybe cause they felt retrieval testing along was good enough? I dunno. This seems a bit overwhelming for the very first version (i.e. for a demo in November) but still an interesting approach to consider.
Goal
Integrate Curio as a backend for the storage node (BlobStore)
Implementation
So far just an API client for curio's HTTP API
Next things to implement are:
For Discussion