bitmask-stack / bitmask-stack/carbonado-node

GET `/slice/:blake3_hash/:slice_index/:slice_range` HTTP route

Open
#18 0 comments 0 reactions 1 assignee Claimed by @rustchain64 View on GitHub
Dominant language
Rust
Stars
3
Forks
0
PR merge metrics
No merged PRs in 30d

Description

This allows storage clients to request a minimal subset of storage data.

This can optimize by the fact that slices are always 1KB, and segments are always 1MB, so only the specific segments needed will be verifiable.

Use this method for retrieving the slice: https://docs.rs/carbonado/latest/carbonado/fn.extract_slice.html

For now, let's only support a slice range of 1, since extract_slice only returns 1KB at a time.

The test for this should then take this slice data and run it through this method:
https://docs.rs/carbonado/latest/carbonado/fn.verify_slice.html

It will need to verify against the bao hash, not the blake hash, which corresponds to the segment. So, the catalog file will first be needed, which can be parsed using read_catalog, and then the bao hash corresponding to the slice index can be found.

Except for the last file, there should be 1024 slices to a segment, divide by 1024, the result should be the segment, and the remainder is the index within that segment.

The error for requesting a slice range other than one also will need to be handled.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.