Skip to content

Kinnitamine

Kinnitage olemasolev IPFS-sisu oma kontole. Kui kinnitate CID-i, otsib meie klaster sisu IPFS-võrgust ja hoiab seda püsivalt kättesaadavana.

Kinnitage CID järgi

POST /pin

ParameeterTüüpNõutudKirjeldus
cidstringJahIPFS sisuidentifikaator. Kõik vormid on aktsepteeritud: CIDv0 (Qm…), CIDv1 base32 (bafk…, bafy… ja teised koodekid).
descriptionstringEiLühikirjeldus teie viitamiseks.
metadataobjectEiKohandatud võtme-väärtus paarid kinnitusele lisamiseks. Maks 10 võtit. Võtmed peavad olema tähtnumbrilised või allkriips, 1-64 tähemärki. Väärtused peavad olema stringid, maks 256 tähemärki igaüks. Metaandmete kogusuurus ei tohi ületada 4 KB.
multiaddressesstring[]EiValikulised swarm-connect vihjed. Kuni 5 libp2p multiaadressi peer'idelt, kes majutavad CID-i. Meie klaster käivitab swarm connect iga vihje vastu paralleelselt enne kinnitamist, nii et sisu privaatsetel / DHT-välistel peer'idel on kättesaadav ilma DHT-avastust ootamata. Parima jõupingutuse põhimõttel — ebaõnnestunud ühendus ei põhjusta kinnitamise ebaõnnestumist. Vaadake Kinnitamine privaatsest sõlmest.

Näidispäring

bash
curl -X POST https://api.ipfs.ninja/pin \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "description": "NFT metadata",
    "metadata": {
      "collection": "my-nfts",
      "token_id": "42"
    }
  }'

Vastus 202 Accepted

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "status": "pinning",
  "description": "NFT metadata",
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}

Suurte DAG-ide korral (>500 plokki või >50 MB) sisaldab vastus async: true lippu:

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "status": "pinning",
  "async": true,
  "note": "Large DAG detected — pin running in background. Check status via GET /pin/bafybei…",
  "uris": { ... }
}

Kinnitamine privaatsest sõlmest

Kui CID, mida soovite kinnitada, asub peer'il, mis ei osale avalikus DHT-s — privaatne staging-sõlm, VPN-i taga olev iseseisvalt majutatud masin või NAT-i taga olev tööjaam — ei leia vaikimisi kinnitamisvoog seda. Ühe või mitme multiaddresses edastamine ütleb meie klastrile täpselt, kust otsida.

Käivitame ipfs swarm connect <multiaddr> iga vihje jaoks paralleelselt enne kinnitamise käivitumist. Kui ühendus õnnestub, saab kinnituse DAG-toomine rääkida otse teie peer'iga, selle asemel et DHT-d läbi otsida. Kui see ebaõnnestub, jätkub kinnitamine ikkagi avaliku võrgu vastu (parima jõupingutuse semantika).

Näide: kinnitamine konkreetselt peer'ilt

bash
curl -X POST https://api.ipfs.ninja/pin \
  -H "X-Api-Key: bws_your_api_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "description": "internal staging build",
    "multiaddresses": [
      "/ip4/203.0.113.42/tcp/4001/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3",
      "/dns4/node.internal.example/tcp/443/wss/p2p/12D3KooWH3uVF6wv47WnArKHk5p6cvgCJEb74UTmxztmQDc298L3"
    ]
  }'

Vastus sisaldab iga vihje olekut

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "status": "pinning",
  "swarmConnected": [
    { "multiaddr": "/ip4/203.0.113.42/tcp/4001/p2p/12D3KooW…", "ok": true,  "strings": ["connect 12D3KooW… success"] },
    { "multiaddr": "/dns4/node.internal.example/tcp/443/…",   "ok": false, "error": "dial to peer: no route" }
  ],
  "uris": {  }
}

Aktsepteeritud multiaadressi vormid

Toetatud on levinud vormid: /ip4, /ip6, /dns4, /dns6, /dns, /dnsaddr transpordid; /tcp või /udp protokollid; valikulised /quic-v1, /quic, /ws, /wss, /http, /https, /webtransport, /webrtc-direct uuendused. Multiaadress peab lõppema /p2p/<peerId>-ga. Piirmäär: kuni 5 vihjet kinnituse kohta.

Oma sõlme multiaadressi hankimine

Sellel peer'il, millelt soovite kinnitada, käivitage ipfs id ja kopeerige mõni Addresses kirje, mis lõpeb /p2p/<PeerID>-ga. Eelistage avalikult marsruuditavaid aadresse (/ip4/YOUR_PUBLIC_IP/…) või DNS-põhiseid aadresse (/dnsaddr/your.domain/…), et meie klaster saaks peer'ini jõuda AWS-ist.

Väga suurte kataloogide kinnitamine

POST /pin on mõeldud sisule, mis juba elab IPFS-võrgus — klaster toob DAG-i plokk-plokilt peer'idelt, mis võib võtta mitu minutit kataloogide puhul, kus on 1000+ faili. Selle toomisakna jooksul ei pruugi mõned alamfailid veel lokaalselt saadaval olla ja gateway-päringud neile võivad aeguda. Kui vanem-elemendi status lülitub olekusse pinned, on iga alamelement lokaalselt saadaval ja ligipääsetav teie gateway kaudu.

Kui teil on failid lokaalselt olemas (mitte ainult CID), eelistage suurte NFT-kollektsioonide või andmestike jaoks CAR importi — see laadib terve DAG-i üles IPFS Ninja-sse ühe atomaarse päringuga, nii et toomisakent ega osalise kinnituse olekut ei teki. Looge CAR failiga:

bash
npx ipfs-car pack ./my-collection -o collection.car

Seejärel importige see POST /upload/new kaudu parameetriga car: true.

TIP

Kinnitamine on asünkroonne. Vastus tagastatakse kohe olekuga pinning. Küsige oleku lõpp-punkti, et kontrollida, millal kinnitamine on lõpetatud.

Kontrollige kinnitamise olekut

GET /pin/:cid

ParameeterTüüpNõutudKirjeldus
cidstringJahCID, mida kontrollite.

Vastus 200 OK

json
{
  "cid": "bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
  "status": "pinned",
  "sizeMB": 0.042,
  "fileName": "NFT metadata",
  "pinnedAt": 1711036800000,
  "uris": {
    "ipfs": "ipfs://bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi",
    "url": "https://ipfs.ninja/ipfs/bafybeigdyrzt5sfp7udm7hu76uh7y26nf3efuylqabf3oclgtqy55fbzdi"
  }
}

Oleku väärtused

OlekTähendus
pinningSisu otsitakse IPFS-võrgust. Küsige uuesti mõne sekundi pärast.
pinnedSisu on kinnitatud ja kättesaadav teie konto ja gateway kaudu.
failedSisu ei leitud IPFS-võrgust. CID võib olla kehtetu või sisu pole enam kättesaadav.

Kuidas kinnitamine toimib

  1. Esitate CID POST /pin kaudu
  2. Meie IPFS klaster otsib võrgust sõlmi, millel on sisu
  3. Klaster laadib sisu alla ja kinnitab selle kohapeal
  4. Pärast kinnitamist ilmub fail teie failide loendis ja on kättesaadav gateway kaudu
  5. Salvestusruumi kasutus registreeritakse kinnitamise lõppedes

WARNING

Kinnitamise aeg sõltub faili suurusest ja võrgu kättesaadavusest. Väikesed failid kinnituvad tavaliselt sekunditega. Suured failid või harva kinnitatud sisu võib võtta minuteid.

Salvestus

Kinnitatud sisu arvestatakse teie plaani salvestuspiiri hulka. Faili suurus registreeritakse kinnitamise lõppedes. Kui lähenete oma salvestuspiirile, saate vabastada ruumi, kustutades kasutamata faile, või uuendada plaani suurema mahu saamiseks.