A Readable stream around a Hypercore that supports reading byte ranges.
npm install hypercore-byte-stream
Useful for media streaming
const ByteStream = require('hypercore-byte-stream')
// id is a blob id that sets the outer bounds for the stream
// should contain the following { blockOffset, blockLength, byteOffset, byteLength }
// options can be used be specify a byte range { start, length }
// other options include, { maxPrefetch }
// note that the stream will close the core session when done, ie it takes full ownership of it
const stream = new ByteStream(core, id, options)
// if the core only contains a single blob you can use the one helper to init the blob id for you
const unboundedStream = ByteStream.one(core, options)
Apache-2.0