Summary
Implement FiberFetcher as a DataFetcher backend that conforms to the Fiber 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
- 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
ref celestiaorg/celestia-node#4777
Summary
Implement
FiberFetcheras aDataFetcherbackend that conforms to the Fiber 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
DataFetcherinterface (pkg/fetch/fetcher.go). TheFiberFetcherimplementation (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
FiberFetchersatisfying theDataFetcherinterface:GetHeader(ctx, height)GetBlobs(ctx, height, namespace)GetNetworkHead(ctx)SubscribeHeaders(ctx)Close()type = "fiber"in[data_source]Blocked on
References
test_plan.md— Phase 4,DataFetcherinterfaceref celestiaorg/celestia-node#4777