Skip to content

PDPServer

Defined in: packages/synapse-sdk/src/pdp/server.ts:165

new PDPServer(authHelper, serviceURL): PDPServer;

Defined in: packages/synapse-sdk/src/pdp/server.ts:174

Create a new PDPServer instance

ParameterTypeDescription
authHelper| PDPAuthHelper | nullPDPAuthHelper instance for signing operations
serviceURLstringThe PDP service URL (e.g., https://pdp.provider.com)

PDPServer

addPieces(
dataSetId,
clientDataSetId,
pieceDataArray,
metadata?): Promise<AddPiecesResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:341

Add pieces to an existing data set

ParameterTypeDescription
dataSetIdnumberThe ID of the data set to add pieces to
clientDataSetIdbigintThe client’s dataset ID used when creating the data set
pieceDataArraystring[] | PieceLink[]Array of piece data containing PieceCID CIDs and raw sizes
metadata?MetadataEntry[][]Optional metadata for each piece (array of arrays, one per piece)

Promise<AddPiecesResponse>

Promise that resolves when the pieces are added (201 Created)

Error if any CID is invalid

const pieceData = ['bafkzcibcd...']
const metadata = [[{ key: 'snapshotDate', value: '20250711' }]]
await pdpTool.addPieces(dataSetId, clientDataSetId, pieceData, metadata)

createAndAddPieces(
clientDataSetId,
payee,
payer,
recordKeeper,
pieceDataArray,
metadata): Promise<CreateDataSetResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:233

Creates a data set and adds pieces to it in a combined operation. Users can poll the status of the operation using the returned data set status URL. After which the user can use the returned transaction hash and data set ID to check the status of the piece addition.

ParameterTypeDescription
clientDataSetIdbigintUnique ID for the client’s dataset
payeestringAddress that will receive payments (service provider)
payerstringAddress that will pay for the storage (client)
recordKeeperstringAddress of the Warm Storage contract
pieceDataArraystring[] | PieceLink[]Array of piece data containing PieceCID CIDs and raw sizes
metadata{ dataset?: MetadataEntry[]; pieces?: MetadataEntry[][]; }Optional metadata for dataset and each of the pieces.
metadata.dataset?MetadataEntry[]-
metadata.pieces?MetadataEntry[][]-

Promise<CreateDataSetResponse>

Promise that resolves with transaction hash and status URL


createDataSet(
clientDataSetId,
payee,
payer,
metadata,
recordKeeper): Promise<CreateDataSetResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:192

Create a new data set on the PDP server

ParameterTypeDescription
clientDataSetIdbigintUnique ID for the client’s dataset
payeestringAddress that will receive payments (service provider)
payerstringAddress that will pay for the storage (client)
metadataMetadataEntry[]Metadata entries for the data set (key-value pairs)
recordKeeperstringAddress of the Warm Storage contract

Promise<CreateDataSetResponse>

Promise that resolves with transaction hash and status URL


deletePiece(
dataSetId,
clientDataSetId,
pieceID): Promise<string>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:560

Delete a piece from a data set

ParameterTypeDescription
dataSetIdnumberThe ID of dataset to delete
clientDataSetIdbigintClient dataset ID of the dataset to delete
pieceIDnumberThe ID of the piece to delete

Promise<string>

Promise for transaction hash of the delete operation


downloadPiece(pieceCid): Promise<Uint8Array<ArrayBufferLike>>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:512

Download a piece from a service provider

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID CID of the piece

Promise<Uint8Array<ArrayBufferLike>>

The downloaded data


findPiece(pieceCid): Promise<FindPieceResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:441

Find a piece by PieceCID and size

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID CID (as string or PieceCID object)

Promise<FindPieceResponse>

Piece information if found


getAuthHelper(): PDPAuthHelper;

Defined in: packages/synapse-sdk/src/pdp/server.ts:651

PDPAuthHelper


getDataSet(dataSetId): Promise<DataSetData>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:532

Get data set details from the PDP server

ParameterTypeDescription
dataSetIdnumberThe ID of the data set to fetch

Promise<DataSetData>

Promise that resolves with data set data


getDataSetCreationStatus(txHash): Promise<DataSetCreationStatusResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:386

Check the status of a data set creation

ParameterTypeDescription
txHashstringTransaction hash from createDataSet

Promise<DataSetCreationStatusResponse>

Promise that resolves with the creation status


getPieceAdditionStatus(dataSetId, txHash): Promise<PieceAdditionStatusResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:415

Check the status of a piece addition transaction

ParameterTypeDescription
dataSetIdnumberThe data set ID
txHashstringTransaction hash from addPieces

Promise<PieceAdditionStatusResponse>

Promise that resolves with the addition status


getPieceStatus(pieceCid): Promise<PieceStatusResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:465

Get indexing and IPNI status for a piece

TODO: not used anywhere, remove?

ParameterTypeDescription
pieceCidstring | PieceLinkThe PieceCID CID (as string or PieceCID object)

Promise<PieceStatusResponse>

Piece status information including indexing and IPNI advertisement status

Error if piece not found or doesn’t belong to service (404)


getServiceURL(): string;

Defined in: packages/synapse-sdk/src/pdp/server.ts:647

Get the service URL for this PDPServer instance

string

The service URL


ping(): Promise<void>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:630

Ping the service provider to check connectivity

Promise<void>

Promise that resolves if provider is reachable (200 response)

Error if provider is not reachable or returns non-200 status


uploadPiece(data): Promise<UploadResponse>;

Defined in: packages/synapse-sdk/src/pdp/server.ts:497

Upload a piece to the PDP server

ParameterTypeDescription
data| ArrayBuffer | Uint8Array<ArrayBufferLike>The data to upload

Promise<UploadResponse>

Upload response with PieceCID and size