# piece

PieceCID (Piece Commitment CID) utilities

Helper functions for working with Filecoin Piece CIDs

## Example

```ts
import * as Piece from '@filoz/synapse-core/piece'
```

## Type Aliases

| Type Alias | Description |
| ------ | ------ |
| [PieceCID](/reference/filoz/synapse-core/piece/type-aliases/piececid/) | PieceCID - A constrained CID type for Piece Commitments. This is implemented as a Link type which is made concrete by a CID. A PieceCID uses the raw codec (0x55) and the fr32-sha256-trunc254-padbintree multihash function (0x1011) which encodes the base content length (as padding) of the original piece, and the height of the merkle tree used to hash it. |

## Functions

| Function | Description |
| ------ | ------ |
| [asPieceCID](/reference/filoz/synapse-core/piece/functions/aspiececid/) | Convert a PieceCID input (string or CID) to a validated CID This is the main function to use when accepting PieceCID inputs |
| [calculate](/reference/filoz/synapse-core/piece/functions/calculate/) | Calculate the PieceCID (Piece Commitment) for a given data blob |
| [calculateFromIterable](/reference/filoz/synapse-core/piece/functions/calculatefromiterable/) | Calculate PieceCID from an async iterable of Uint8Array chunks. |
| [createPieceCIDStream](/reference/filoz/synapse-core/piece/functions/createpiececidstream/) | Create a TransformStream that calculates PieceCID while streaming data through it This allows calculating PieceCID without buffering the entire data in memory |
| [downloadAndValidate](/reference/filoz/synapse-core/piece/functions/downloadandvalidate/) | Download data from a Response object, validate its PieceCID, and return as Uint8Array |
| [getSize](/reference/filoz/synapse-core/piece/functions/getsize/) | Extract the raw (unpadded) size from a PieceCIDv2 |
| [getSizeFromPieceCID](/reference/filoz/synapse-core/piece/functions/getsizefrompiececid/) | Extract the raw (unpadded) size from a PieceCIDv2 |
| [hexToPieceCID](/reference/filoz/synapse-core/piece/functions/hextopiececid/) | Convert a hex representation of a PieceCID to a PieceCID object |
| [isPieceCID](/reference/filoz/synapse-core/piece/functions/ispiececid/) | Check if a CID is a valid PieceCID |
| [parse](/reference/filoz/synapse-core/piece/functions/parse/) | - |