-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
The block sending side in CAR mirror sends CAR files. However, some implementations require a header to have at least one root CID (iroh-car being one of them). It's somewhat unclear whether CAR files need to contain all their roots.
From the spec:
- Number of Roots: https://ipld.io/specs/transport/car/carv1/#number-of-roots
- Root CID block existance: https://ipld.io/specs/transport/car/carv1/#root-cid-block-existence
I see two possibilities:
- Put the whole DAG root CID into the CAR file, even if the CAR file doesn't contain the root block, e.g. if it's a message later in the protocol
- Put the first block's CID that's transferred in the CAR file into the header. That's currently the case in the WIP rs-car-mirror implementation.
Should we specify this at all? We could also just... not specify this, and implementations will need to decide themselves what to put in there, but be lenient in what they allow. (unfortunately iroh-car currently errors out if the header roots are empty)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels