Remix.run Logo
Show HN: BlockFrame – A local, erasure-coded storage engine in Rust(github.com)
2 points by DeusCodex 2 days ago | 4 comments
DeusCodex 2 days ago | parent | next [-]

Hi HN, author here. I built BlockFrame because I wanted the durability of distributed object storage (erasure coding, bit-rot protection) but for local, single-node archives.

It is a storage engine that shards files into Reed-Solomon blocks (RS(30,3) or RS(1,3)) to guarantee mathematical recovery from disk corruption. It then exposes this engine via a FUSE/WinFSP interface so you can access the data using standard tools (read, seek) without needing custom APIs.

Key features:

Engine Layer: Handles the heavy lifting of parity calculation and Merkle tree verification.

Access Layer: Virtual filesystem driver allows zero-copy access and random seeking on multi-gigabyte datasets.

Self-Healing: The engine transparently reconstructs corrupted sectors during reads.

I’m graduating in May and aiming for systems roles in the UK. I'd love feedback on the architecture and any feedback is highly appreciated, Thank you.

compressedgas 2 days ago | parent | prev [-]

RS(1,3) is a slow way to store four copies.

DeusCodex 5 hours ago | parent [-]

I'm open to suggestions for better erasure coding storage ratio :)

compressedgas 3 hours ago | parent [-]

There is nothing wrong with the ratio. It is that for this ratio it is less computation to use the Merkle tree and plain replication rather than erasure coding. My suggestion is already stated. Store four copies and use the Merkle tree to determine which is valid.