Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: support producing deterministic car streams #174

Open
SgtPooki opened this issue Feb 11, 2025 · 1 comment
Open

feat: support producing deterministic car streams #174

SgtPooki opened this issue Feb 11, 2025 · 1 comment
Labels
dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/deferred Conscious decision to pause or backlog

Comments

@SgtPooki
Copy link
Member

SgtPooki commented Feb 11, 2025

The goal here was originally to support the full gamut of specs for IPFS gateways, but as Lidel points out below, we should probably stick to one since the car variants are SHOULD, until we get feedback from users that different is desired.

see https://specs.ipfs.tech/http-gateways/trustless-gateway/#car-order-request-query-parameter and https://specs.ipfs.tech/http-gateways/trustless-gateway/#car-order-content-type-parameter

@lidel
Copy link
Member

lidel commented Feb 11, 2025

additional caveats about signaling

Note that those extra CAR features are SHOULD and not MUST. In practice gateway implementations may choose to only implement a subset of possible permutations of CAR parameters. for example, today in 2025Q1 we have two presets in the wild:

  • boxo/gateway returns content-type: application/vnd.ipld.car; version=1; order=dfs; dups=n
  • storacha returns content-type: application/vnd.ipld.car; version=1; order=unk; dups=y

@SgtPooki If the purpose of this issue is to figure out what CAR should be produced by verified-fetch, probably a good bet is to try to follow what is done in boxo/gateway (deterministic DFS responses without duplicates) and have the same bytes, unless we have a reason to do something different in JS.

@SgtPooki SgtPooki added P3 Low: Not priority right now dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week kind/enhancement A net-new feature or improvement to an existing feature status/deferred Conscious decision to pause or backlog labels Mar 6, 2025
@lidel lidel changed the title feat: support deterministic car streaming feat: support producing deterministic car streams Mar 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dif/medium Prior experience is likely helpful effort/days Estimated to take multiple days, but less than a week kind/enhancement A net-new feature or improvement to an existing feature P3 Low: Not priority right now status/deferred Conscious decision to pause or backlog
Projects
None yet
Development

No branches or pull requests

2 participants