Skip to content

Conversation

@dtfiedler
Copy link
Contributor

Add streaming hash and signing functions that process data incrementally without loading the entire payload into memory. This enables signing large files with constant memory usage and progress callbacks.

New functions:

  • deep_hash_blob_stream: Stream-hash a blob
  • get_signature_data_stream: Compute signature hash with streaming data
  • sign_stream: Sign streaming data end-to-end

Features:

  • 256 KiB default chunk size (matches Arweave)
  • Progress callbacks: on_progress(processed_bytes, total_bytes)
  • Produces identical signatures to in-memory sign()

PE-8860

Add streaming hash and signing functions that process data incrementally
without loading the entire payload into memory. This enables signing
large files with constant memory usage and progress callbacks.

New functions:
- deep_hash_blob_stream: Stream-hash a blob
- get_signature_data_stream: Compute signature hash with streaming data
- sign_stream: Sign streaming data end-to-end

Features:
- 256 KiB default chunk size (matches Arweave)
- Progress callbacks: on_progress(processed_bytes, total_bytes)
- Produces identical signatures to in-memory sign()

PE-8860

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
@dtfiedler dtfiedler force-pushed the PE-8860-stream-signing branch from d025274 to 57838d5 Compare January 14, 2026 14:48
@dtfiedler dtfiedler merged commit 2374d27 into alpha Jan 14, 2026
8 checks passed
@dtfiedler dtfiedler deleted the PE-8860-stream-signing branch January 14, 2026 15:04
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

Successfully merging this pull request may close these issues.

2 participants