SIZE_CONSTANTS
const SIZE_CONSTANTS: object;Defined in: packages/synapse-sdk/src/utils/constants.ts:138
Data size constants
Type Declaration
Section titled “Type Declaration”DEFAULT_UPLOAD_BATCH_SIZE
Section titled “DEFAULT_UPLOAD_BATCH_SIZE”readonly DEFAULT_UPLOAD_BATCH_SIZE: 32 = 32;Default number of uploads to batch together in a single addPieces transaction This balances gas efficiency with reasonable transaction sizes
readonly GiB: bigint;Bytes in 1 GiB
readonly KiB: 1024n = 1024n;Bytes in 1 KiB
MAX_UPLOAD_SIZE
Section titled “MAX_UPLOAD_SIZE”readonly MAX_UPLOAD_SIZE: 1065353216 = CORE_MAX_UPLOAD_SIZE;Maximum upload size supported by Curio PDP servers: 1 GiB adjusted for fr32 expansion.
1 GiB * (127/128) = 1,065,353,216 bytes
Fr32 encoding adds 2 bits of padding per 254 bits of data, resulting in 128 bytes of padded data for every 127 bytes of raw data.
Note: While it’s technically possible to upload pieces this large as Uint8Array (even in browsers), streaming via AsyncIterable is strongly recommended for non-trivial sizes. In-memory operations with large byte arrays can:
- Cause memory pressure and garbage collection issues
- Block the JavaScript event loop during allocation/copying
- Trigger browser tab slowdowns or “unresponsive script” warnings
For optimal performance and resource utilization, prefer streaming for pieces larger than a few megabytes, especially in browser environments.
Imported from @filoz/synapse-core/piece
readonly MiB: bigint;Bytes in 1 MiB
MIN_UPLOAD_SIZE
Section titled “MIN_UPLOAD_SIZE”readonly MIN_UPLOAD_SIZE: 127 = 127;Minimum upload size (127 bytes) PieceCIDv2 calculation requires at least 127 bytes payload
readonly PiB: bigint;Bytes in 1 PiB
readonly TiB: bigint;Bytes in 1 TiB