dapphub / dapphub/dpack

Feat: Articulate IPFS Pinning Service Compliance

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
51
Forks
8
PR merge metrics
No merged PRs in 30d

Description

# Articulate Pinning Service Compliance

https://github.com/dapphub/dpack/blob/830ce46cc2cf6cc65888b6c9625e86d8cc9859d4/src/ipfs-util.ts#L7

Explicitly supporting pinning services that conform to the new [pinning registry and compliance specification](https://ipfs-shipyard.github.io/pinning-service-compliance/) will ensure that pinned content can be migrated between pinning providers.

This is important because pinning services conforming to this spec ensure that:

- When a pin is created, the service responds with _unique_ `requestid` that can be later used for pin removal. When the same `cid` is pinned again, a different `requestid` is returned to differentiate between those pin requests.[^1]

- Service implementation should use **UUID**, `hash(accessToken,Pin,PinStatus.created)`, or any other opaque identifier that provides equally strong protection against race conditions.[^1]

[^1]: [see https://ipfs.github.io/pinning-services-api-spec/](https://ipfs.github.io/pinning-services-api-spec/)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with src/ipfs-util.ts at line 7, then read the linked pinning registry and pinning service API specifications. Trace how pin creation and removal are currently handled, and verify that support distinguishes repeated pins of the same CID through unique request IDs suitable for later removal and migration between compliant providers.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
api, distributed-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.