evstack / evstack/apex

Implement Fiber DA spec compatibility (FiberFetcher)

Offen
#1 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
4
Forks
0
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

## Summary

Implement `FiberFetcher` as a `DataFetcher` backend that conforms to the [Fiber DA spec](https://github.com/celestiaorg/fibre-da-spec). This enables apex to fetch namespace data directly from the Fiber network instead of going through celestia-node, reducing latency and removing the celestia-node dependency for production deployments.

## Context

The architecture already defines a pluggable `DataFetcher` interface (`pkg/fetch/fetcher.go`). The `FiberFetcher` implementation (`pkg/fetch/fiber.go`) is planned for Phase 4. This issue tracks aligning that implementation with the upstream Fiber DA spec as it stabilizes.

## Requirements

- Implement `FiberFetcher` satisfying the `DataFetcher` interface:
- `GetHeader(ctx, height)`
- `GetBlobs(ctx, height, namespace)`
- `GetNetworkHead(ctx)`
- `SubscribeHeaders(ctx)`
- `Close()`
- Conform to the data types and wire format defined in [fibre-da-spec](https://github.com/celestiaorg/fibre-da-spec)
- Add config support for `type = "fiber"` in `[data_source]`
- Integration tests against a local Fiber node (or mock)

## Blocked on

- Fiber DA spec reaching a stable/tagged version
- Fiber network availability for testing

## References

- Spec: https://github.com/celestiaorg/fibre-da-spec
- Design doc: `test_plan.md` — Phase 4, `DataFetcher` interface

ref https://github.com/celestiaorg/celestia-node/issues/4777

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne mit dem DataFetcher-Interface in pkg/fetch/fetcher.go, der geplanten Implementierung in pkg/fetch/fiber.go und Phase 4 von test_plan.md. Lies die vorgelagerte fibre-da-spec und ermittle die erforderlichen Datentypen und das Wire-Format, bevor du die fünf Methoden und die fiber data_source-Konfiguration implementierst. Als abgeschlossen gilt die Arbeit, wenn die Implementierung der Spezifikation entspricht und die Integrationstests gegen einen lokalen Fiber-Knoten oder Mock ausgeführt werden.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go
Bereich
backend, networking
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.