From c65e7cc19862c8ad71043cca82eafd1b6f8edb74 Mon Sep 17 00:00:00 2001 From: Jimmy Debe <91767824+jimstir@users.noreply.github.com> Date: Thu, 3 Oct 2024 15:23:34 -0400 Subject: [PATCH] Update manifest.md --- manifest.md | 100 +++++++++++++--------------------------------------- 1 file changed, 25 insertions(+), 75 deletions(-) diff --git a/manifest.md b/manifest.md index adadd04..828c6b0 100644 --- a/manifest.md +++ b/manifest.md @@ -12,12 +12,11 @@ contributors: This specification describes the parameters used in the manifest for a Codex client application. -## Background -The manifest is used to encode datasets with the a Codex client. +## Manifest +The manifest is used to encode datasets with the a Codex client node. The file contains key-value pairs. - -## Manifest Parameters +### Parameters ```json @@ -42,81 +41,29 @@ The file contains key-value pairs. } - ``` The structured format used is JSON. -`treeCid` - -- Root of the merkle root -- Hash based on CIDv1 - -`datasetSize` - -- Total size of all blocks, after data is chunked -- it SHOULD be in bytes - -`blockSize` - -- Size of each contained block - -`codec` - -- Dataset codec - -`hcodec` - -- Multihash codec - -`version` - -- CID version - -`protected` - -- Protected datasets have erasure coded info -- Only if `true` - -`ecK` - -- Number of blocks to encode - -`ecM` - -- Number of resulting parity blocks - -`originalTreeCid` - -- The original root of the dataset being erasure coded - -`originalDatasetSize` - -- The size of the original dataset - -`protectedStrategy` - -- Indexing strategy used to build the slot roots - -`verifiable` - -- Verifiable datasets can be used to generate storage proofs - -`verifyRoot` - -- Root of the top level merkle tree built from slot roots - -`slotRoots` - -- Individual slot root built from the original dataset blocks - -`cellSize` - -- Size of each slot cell - -`verifiableStrategy` - -- Indexing strategy used to build the slot roots +| attribute | type | description | +|-----------|------|-------------| +| `treeCid` | string | A hash based on [CIDv1](https://github.com/multiformats/cid#cidv1). The root of the merkle tree | +| `datasetSize` | bytes | Total size of all blocks, after data is chunked. | +| `blockSize` | bytes | Size of each contained block. | +| `codec` | [MultiCodec](https://github.com/multiformats/multicodec) | A dataset codec. | +| `hcodec` | [MultiCodec](https://github.com/multiformats/multicodec) | A multihash codec. | +| `version` | string | The CID version | +| `protected` | bool | The protected datasets have erasure coded info, If true, `ecK`, `ecM`, `originalTreeCid`, `originalDatasetSize`, and `protectedStrategy` SHOULD be used.| +| `ecK` | int | The number of blocks to encode. | +| `ecM` | int | The number of resulting parity blocks. | +| `originalTreeCid` | string | The original root of the dataset being erasure coded. | +| `originalDatasetSize` | bytes | The size of the original dataset. | +| `protectedStrategy` | enum | An indexing strategy used to build the slot roots. | +| `verifiable` | bool | Verifiable datasets can be used to generate storage proofs. If true, `verifyRoot`, `slotRoots`, `cellSize`, and `verifiableStrategy` SHOULD be used. | +| `verifyRoot` | string | The root of the top level merkle tree built from slot roots. | +| `slotRoots` | array[string] | Individual slot root built from the original dataset blocks. | +| `cellSize` | bytes | The size of each slot cell. | +| `verifiableStrategy` | enum | Indexing strategy used to build the slot roots. | ## Copyright @@ -124,3 +71,6 @@ Copyright and related rights waived via [CC0](https://creativecommons.org/public ## References +- [MultiCodec](https://github.com/multiformats/multicodec) +- [CIDv1](https://github.com/multiformats/cid#cidv1) +