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 deterministic car streaming #174

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

feat: support deterministic car streaming #174

SgtPooki opened this issue Feb 11, 2025 · 1 comment

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants