epic: content layer — Helia in the browser, Kubo as the platform node, Boxo where needed
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Accessibilité débutants
- 25/100
- Type d'issue
- Fonctionnalité
- Clarté
- Plutôt claire
- Activité
- Active
- Stack technique
- python
- Domaine
- data, distributed-systems, infrastructure
Piste de recherche
Start with docs/HELIA_INTEGRATION.md and the linked child issues to understand the planned content layer; this epic groups browser Helia, platform Kubo, optional Boxo work, and separate Stripe work. The production host, Kubo version policy, and need for custom Boxo code are still open. Done means the scoped child issues are completed and those design questions are resolved.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Track the content layer for distributed-quantum: Helia in the browser for content addressing, Kubo as the always-on platform node, and Boxo (Go library) only where Kubo cannot meet a need. Also tracks Stripe stablecoin work as a separate group.
Source material: the Helia integration overview (docs/HELIA_INTEGRATION.md, added separately).
Design stance
- Compute and content stay separate planes. Content-layer failures never block or discard quantum execution.
- Prefer configuring Kubo over writing Go. Custom Boxo code needs a written justification (spike).
- Provider credentials move behind a server-side broker.
Open questions
- Where does the platform node run in production (hosting, who operates it)?
- Kubo version policy and upgrade cadence.
- Is a custom Boxo service justified? (see the Boxo spike)
Child issues
Tier 1 - good starting point (small, well-scoped, builds on existing code)
- #44
heliafix(vault): drain and replay the pin retry queue - #46
heliarefactor(vault-pinning): use the broker and remove NEXT_PUBLIC provider credentials - #47
heliachore(vault-pinning): remove the legacy nft-storage alias - #49
heliafeat(vault): publish circuits to the vault - #50
heliafeat(vault): versioned, validated record schemas - #51
heliafeat(vault): request persistent storage and warn about eviction - #53
heliatest(vault): unit tests for local-index and sync-queue - #56
heliadocs(helia): post the open design questions to the IPFS community and record answers - #68
kubotest(content-node): compose-based integration test for the Kubo client - #75
kubodocs(helia): add the content node to the architecture and target diagrams
Tier 2 - needs a new service, SDK or deeper design
- #45
heliafeat(vault): server-side pinning broker routes - #48
heliafeat(vault-pinning): pin original blocks as a CAR so the pinned CID equals the Helia CID - #52
heliafeat(vault): export and import the vault as a CAR file - #54
heliafeat(vault): open any CID from a link or paste, with trustless-gateway fallback - #58
heliafeat(vault): link runs to circuits with dag-json instead of a string field - #59
kubofeat(infra): run Kubo in docker-compose (server profile, pinned version) - #60
kubofeat(content-node): lock down the Kubo RPC API and gateway - #61
kubofeat(backend): async Python client for the Kubo RPC API - #62
helia/kubofeat(vault): platform Kubo node as a pinning provider - #64
helia/kubofeat(content-node): delegated-routing endpoint used by Helia - #65
kubofeat(content-node): reprovide only pinned content - #66
kubofeat(ops): Kubo storage limits, garbage collection and Prometheus metrics - #67
kubofeat(provenance): publish each provenance bundle to Kubo, best effort - #73
kubofeat(backend): Python gateway client that fetches by CID and verifies content - #74
kubofeat(provenance): IPFS storage adapter for bundle verification
Tier 3 - distinct stack or research; start with a small scoped deliverable
- #55
heliaspike(vault): one Helia node per browser (SharedWorker vs Web Locks) - #57
heliaspike(vault): large artefacts with UnixFS in an IndexedDB blockstore - #63
helia/kubofeat(content-node): browser-reachable multiaddrs for Helia nodes - #69
kubospike(content-node): Kubo pubsub bridged to py-libp2p GossipSub - #70
kubospike(vault): IPNS author feeds with Kubo-held keys - #71
boxospike(content-node): what Kubo cannot do, and whether a custom Boxo service is justified - #72
boxofeat(content-node): CID allowlist and takedown denylist for the public gateway
Ground rules: testnet-first, no secrets in the repo, tests and docs with every PR.
- Langage dominant
- Python
- Étoiles
- 2
- Forks
- 4
- Merge moyen
- 6 h 14 min
- PR mergées (30 j)
- 18
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Aucun guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
QMeshPy/distributed-quantum#53 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
QMeshPy/distributed-quantum#78 ·
Les mainteneurs répondent en général sous 1 jour
-
chain-integration enhancement payments research-spike tier-2
Difficulté 3/5 1-2 jours Accessibilité débutants 66/100
QMeshPy/distributed-quantum#77 ·
Les mainteneurs répondent en général sous 1 jour
-
documentation good first issue kubo storage tier-1
Difficulté 2/5 1-3 heures Accessibilité débutants 42/100
QMeshPy/distributed-quantum#75 ·
Les mainteneurs répondent en général sous 1 jour
-
enhancement kubo storage tier-2
Difficulté 4/5 3-5 jours Accessibilité débutants 56/100
QMeshPy/distributed-quantum#74 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de QMeshPy/distributed-quantum
Issues similaires
-
Difficulté 1/5 1-3 heures Accessibilité débutants 85/100
WLAN-Pi/wlanpi-profiler#341 ·
Les mainteneurs répondent en général sous 1 jour
-
Memory leak: the shared `validation_aborted_error` keeps every traceback it is raised throughPeut-être pris @Fire162 l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
graphql-python/graphql-core#287 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 67/100
roman-corgi/ctc-dip#160 ·
Les mainteneurs répondent en général sous 1 jour
-
type-bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
Les mainteneurs répondent en général sous 1 jour
-
render_findings.py reads and writes in the host's default encoding, so findings.html breaks on a cp1252 Windows hostPeut-être pris @Aaqibhafeezkhan l’a pris aujourd’hui. Ouvertebug good first issue mentored python size: XS up-for-grabs
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
dheerajjha/mcp-migrate#366 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour