evstack / evstack/apex

Implement Fiber DA spec compatibility (FiberFetcher)

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4
Forks
0
PR merge metrics
No merged PRs in 30d

Description

## 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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.