feat(vault): open any CID from a link or paste, with trustless-gateway fallback
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 55/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- javascript
- Domain
- backend, distributed-systems
Research direction
Start by reading features/ipfs/lib/helia-init.ts to see how Helia is initialized, then trace the existing vault page and content decoding flow. Implement the CID route, gateway configuration, validation, and verified fetch with mocked gateway tests. Done means a valid remotely pinned CID opens in a fresh profile, invalid CIDs and unreachable gateways show distinct messages, and fetched content is verified before display.
Written by the indexing model from the issue text.
Description
Summary
Add a page that resolves a CID that is not in the local blockstore, so shared results open without the sender's browser.
Estimated size: M
Motivation
Today a CID shared with another user resolves only if they obtain the block by other means.
Current state in this repo
- Helia runs with
createHelia({ blockstore, datastore })and no custom libp2p or block-broker configuration (features/ipfs/lib/helia-init.ts).
Proposal
- Add
/vault/cid/[cid]with a paste box. - Configure the trustless-gateway block broker with a configurable gateway list (env).
- Show a verified-against-CID indicator and cache fetched blocks locally.
- Validate the CID and the decoded record schema.
Acceptance criteria
- A CID published and pinned elsewhere opens on a fresh browser profile.
- Invalid CIDs and unreachable gateways give distinct messages.
- A fetched block is verified against its CID before display.
Out of scope
- Browser-to-browser transports (see the Kubo browser-connectivity issue).
Technical notes and risks
- Gateway choice affects privacy (the gateway sees the CID); document it.
Dependencies
- None; can be picked up independently.
Testing plan
- Mocked gateway tests; one manual cross-profile check.
Part of #43. Ground rules for the content layer: no secrets in the repo, content-layer failures must never block or discard quantum execution, and tests and docs ship with every PR.
- Dominant language
- Python
- Stars
- 2
- Forks
- 4
- Avg merge
- 5h 45m
- Merged PRs (30d)
- 25
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- No contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
QMeshPy/distributed-quantum#53 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 4/5 3-5 days Newbie friendliness 55/100
QMeshPy/distributed-quantum#78 ·
Maintainers usually reply within 1 day
-
chain-integration enhancement payments research-spike tier-2
Difficulty 3/5 1-2 days Newbie friendliness 66/100
QMeshPy/distributed-quantum#77 ·
Maintainers usually reply within 1 day
-
documentation good first issue kubo storage tier-1
Difficulty 2/5 1-3 hours Newbie friendliness 42/100
QMeshPy/distributed-quantum#75 ·
Maintainers usually reply within 1 day
-
feat(provenance): IPFS storage adapter for bundle verificationPossibly taken @vinayskanse claimed this 1 day ago. Openenhancement kubo storage tier-2
Difficulty 4/5 3-5 days Newbie friendliness 56/100
QMeshPy/distributed-quantum#74 · 2 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in QMeshPy/distributed-quantum
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 82/100
btclib-org/btclib-node#2083 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Gathin23/cleanyourtv#2089 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
jxxghp/MoviePilot#7212 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
Maintainers usually reply within 1 day
-
cli dx rust
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
NekomyaDev/nudge#278 ·
Maintainers usually reply within 1 day