celestia-node
celestia-node copied to clipboard
share: Extend `GetSharesByNamespace` with an option to collect Merkle proofs
Context
We want FN/BNs to serve data by namespace as a whole. For that, we need to read Merkle proofs while getting data by namespace so that requestors can verify its inclusion in the header.
Implementation Details
-
share.GetSharesByNamespace
is used to load data from disk only and not from the network anymore- Using
Blockservice
with offline exchange - Using
Blockstore
provided byEDSStore
- Using
-
share.GetSharesByNamespace
is extended to return NMT Merkle proofs- Similar to
share/ipld.GetProofsForShares
- Ensure Merkle proofs are not duplicated!
- Similar to
Refs
Depends on #878 Depends on #183