At celestia-node, we don't only use ShardAccessor's Blockstore to serve individual blocks, but also use the underlying mount to stream the CAR file to other full nodes. We do this by adding a Reader() io.Reader method to ShardAccessor that creates independent mmap-backed (when possible) readers. We would love to upstream it to avoid maintaining a fork.
At celestia-node, we don't only use
ShardAccessor
's Blockstore to serve individual blocks, but also use the underlying mount to stream the CAR file to other full nodes. We do this by adding aReader() io.Reader
method toShardAccessor
that creates independent mmap-backed (when possible) readers. We would love to upstream it to avoid maintaining a fork.