Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Design the handling for HFS "files" #772

Open
jsync-swirlds opened this issue Mar 4, 2025 · 0 comments
Open

Design the handling for HFS "files" #772

jsync-swirlds opened this issue Mar 4, 2025 · 0 comments

Comments

@jsync-swirlds
Copy link
Contributor

Persona

As a Block Stream Designer

Request

I want to minimize the size of the block stream

Goal

So that the block stream is efficient for both transmission and storage

Technical Notes

Hiero File System (HFS) "files" can be quite large, and we do not need to send the full content in state changes because the only options are to either add to the content, remove it, or replace it, and the actual content change is always in the transaction. This implies that we can send only the file metadata in state changes, and calculate the content when updating state.
This makes processing file updates a little more complex and requires a bit more parsing, but also has a quite dramatic impact on the size of block streams when file changes are present (as one example, the monthly update file would explode to over 2 terabytes of block stream data due to being uploaded as many tens of thousands of individual append transactions).

We want to document this approach, and ensure that all corner cases and possible issues are well understood and handled properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant