-
Notifications
You must be signed in to change notification settings - Fork 0
CelestiaNodeFetcher: upstream RPC client #12
Copy link
Copy link
Closed
Description
Summary
Implement CelestiaNodeFetcher (pkg/fetch/celestia_node.go) — the DataFetcher backend that connects to a running celestia-node via JSON-RPC over WebSocket.
Requirements
- Satisfy the
DataFetcherinterface:GetHeader(ctx, height)— callheader.GetByHeightGetBlobs(ctx, height, namespace)— callblob.GetAllGetNetworkHead(ctx)— callheader.NetworkHeadSubscribeHeaders(ctx)— callheader.Subscribe, return channelClose()— clean shutdown of WebSocket connection
- Use
celestia-openrpcas the client library (lightweight, no cosmos-sdk dependency) - Auth token support for celestia-node's JWT authentication
- Automatic reconnection on WebSocket disconnect with exponential backoff
- Connection health check (periodic ping or detect stale subscription)
Configuration
[data_source]
type = "celestia-node"
endpoint = "ws://localhost:26658"
auth_token = ""References
- Design doc:
test_plan.md— Data Source Interface section - celestia-openrpc client library
- celestia-node
api/rpc/server.go— server-side RPC setup
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels