epic: content layer — Helia in the browser, Kubo as the platform node, Boxo where needed
Los mantenedores suelen responder en 1 día
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 25/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- python
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Python
- Estrellas
- 2
- Forks
- 4
- Merge medio
- 5 h 19 min
- PR fusionados (30 d)
- 11
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Sin plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de QMeshPy/distributed-quantum
-
enhancement good first issue helia storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
QMeshPy/distributed-quantum#53 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
QMeshPy/distributed-quantum#78 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments research-spike tier-2
Dificultad 3/5 1-2 días Aptitud para principiantes 66/100
QMeshPy/distributed-quantum#77 ·
Los mantenedores suelen responder en 1 día
-
chain-integration enhancement payments tier-2
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
QMeshPy/distributed-quantum#76 ·
Los mantenedores suelen responder en 1 día
-
documentation good first issue kubo storage tier-1
Dificultad 2/5 1-3 horas Aptitud para principiantes 42/100
QMeshPy/distributed-quantum#75 ·
Los mantenedores suelen responder en 1 día
Todos los issues de QMeshPy/distributed-quantum
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
foxglove/mcap#1907 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
namespace operations
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
EclipseFdn/open-vsx.org#14623 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
developmentseed/titiler-cmr#261 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
andrewyng/openworker#774 ·
Los mantenedores suelen responder en 1 día
-
aggfuncAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
worldbank/blackmarblepy#160 ·