· · Comparisons  · 7 min skaitymo

Filebase alternatyva: paprastas IPFS Pinning be S3

IPFS Ninja ir Filebase palyginimas. Jei norite paprasto REST API pinning be S3 protokolo, štai kodėl kūrėjai renkasi kitaip.

IPFS Ninja ir Filebase palyginimas. Jei norite paprasto REST API pinning be S3 protokolo, štai kodėl kūrėjai renkasi kitaip.

Greitas palyginimas: Filebase vs IPFS Ninja

FunkcijaFilebaseIPFS Ninja
API stiliusS3 suderinamas (XML/multipart)Paprastas REST/JSON
Nemokamas planas5 GB saugykla1 GB, 500 failų
Mokamas įėjimas$19.99/mėn (Performance)$5/mėn (Bodhi)
Dedikuoti šliuzaiTaipTaip (iki 10 su Nirvana)
Vaizdų optimizavimasNeTaip (/image/{cid})
Įkėlimo autentifikacijaAWS stiliaus pasirašymasX-Api-Key arba pasirašyti tokenai
Esamų CID prisegimasPer S3 PUT į kibirąPOST /pin
Įkėlimas iš naršyklėsReikia iš anksto pasirašytų URLPasirašyti įkėlimo tokenai, integruoti

Esminė išvada: jei jau naudojate AWS SDK klientus, Filebase įsiterpia natūraliai. Jei norite išsiųsti failą į IPFS viena curl komanda, IPFS Ninja laimi paprastumu.

IPFS Ninja dashboard upload interface

Failo įkėlimas į IPFS per 30 sekundžių

Štai IPFS Ninja įkėlimo kelias. Jokio SDK, jokio XML, jokio kibiro kūrimo žingsnio:

curl -X POST https://api.ipfs.ninja/upload/new \
  -H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from IPFS Ninja!",
    "description": "My first file"
  }'

Atsakymas:

{
  "cid": "bafkreib4mrow...",
  "sizeMB": 0.00002,
  "uris": {
    "ipfs": "ipfs://bafkreib4mrow...",
    "url": "https://ipfs.ninja/ipfs/bafkreib4mrow..."
  }
}

Viskas. Tas CID yra prisegtas, pasiekiamas per IPFS ir iš karto prieinamas per viešą šliuzą.

Dabar štai lygiavertis Filebase srautas:

  1. Sukurkite paskyrą ir kibirą Filebase konsolėje.
  2. Sugeneruokite prieigos rakto + slapto rakto porą.
  3. Sukonfigūruokite S3 klientą su adresu https://s3.filebase.com, regionu us-east-1 ir jūsų prisijungimo duomenimis.
  4. Iškvieskite putObject su failo turiniu.
  5. Tikrinkite objekto metaduomenis, kad gautumėte IPFS CID (jis pasirodo kaip x-amz-meta-cid antraštė, kai Filebase prisega jį).

Tai nėra klaidinga — tik daugiau judančių dalių, nei reikia daugumai REST pagrindu dirbančių projektų.


Kodėl kūrėjai susiduria su S3 trintimi Filebase

Filebase S3 suderinamumas tikrai naudingas, kai:

  • Turite esamą infrastruktūrą, kuri kalba S3 (Lambda funkcijos, Terraform moduliai, atsarginių kopijų agentai).
  • Saugote didelius failus ir norite daliminio įkėlimo semantikos, kurią jau žinote.
  • Jūsų komanda gerai išmano AWS ir S3 SDK jau yra priklausomybė.

Tačiau daugelis kūrėjų, integruojančių IPFS į žiniatinklio programą, dApp ar CI srautą, neateina iš tos aplinkos. Jie susiduria su:

XML klaidų atsakymais. S3 grąžina XML. Jūsų JavaScript fetch iškvietimas gauna <?xml version="1.0" ...><Error><Code>InvalidAccessKeyId</Code> ir tenka pridėti XML analizatorių, kad galėtumėte derinti.

Prisijungimo duomenų valdymu. S3 stiliaus autentifikacija (prieigos raktas + slaptasis raktas + HMAC-SHA256 užklausos pasirašymas) nėra triviali naršyklėje ar krašto funkcijoje. Iš anksto pasirašyti URL padeda, tačiau jų generavimas serverio pusėje prideda papildomą apyvartą.

CID gavimas kaip antraeilis dalykas. CID yra S3 objekto metaduomenys, o ne pagrindinis atsakymas. Tenka arba analizuoti atsakymų antraštes, arba kviesti atskirą metaduomenų adresą.

Nėra natūralių pasirašytų įkėlimo tokenų. Jei norite, kad vartotojai įkeltų tiesiai iš naršyklės neatskleidžiant serverio prisijungimo duomenų, Filebase reikalauja, kad patys sukurtumėte iš anksto pasirašytų URL generavimo adresą.

IPFS Ninja pasirašyti įkėlimo tokenai tvarko šį šabloną natūraliai: vieną kartą sugeneruokite laiko ribotą tokeną serverio pusėje, įterpkite jį į savo sąsają ir leiskite vartotojams siųsti POST tiesiai į api.ipfs.ninja, kol tokenas baigsis arba jį atšauksite.


Kainų palyginimas

PlanasFilebaseIPFS Ninja
Nemokamas5 GB, tik viešas šliuzas500 failų, 1 GB, 1 dedikuotas šliuzas
Pirmasis mokamas~$19.99/mėn (Performance)$5/mėn (Bodhi: 50K failų, 10 GB)
Vidutinis$29/mėn (Nirvana: 500K failų, 100 GB)
Dedikuoti šliuzaiTaipTaip (Bodhi: 5, Nirvana: 10)

Mažiems ir vidutiniams projektams šuolis nuo nemokamo iki pirmojo mokamo plano yra $5/mėn IPFS Ninja ir maždaug $20/mėn Filebase. Jei kuriate šalutinį projektą ar startuolio MVP, tas skirtumas svarbus.


Šliuzų funkcijų palyginimas

Abi paslaugos siūlo dedikuotus IPFS šliuzus (subdomenai, kurie teikia jūsų prisegto turinio prieigą per HTTPS). Kuo jie skiriasi:

Filebase suteikia dedikuotą šliuzą mokamos planų turinčioms paskyroms. Jis teikia jūsų kibiro turinį ir integruojasi su jų S3 vardų erdve.

IPFS Ninja šliuzai adresu https://{slug}.gw.ipfs.ninja palaiko:

  • Prieigos režimus: apribotas (reikalingas tokenas), atviras (viešas) arba aplankas (katalogo sąrašas).
  • IP baltojo sąrašo sudarymą: užrakinkite šliuzą žinomoms serverių IP adresams.
  • Kilmės apribojimus: apribokite iki konkrečių HTTP kilmių — naudinga tik naršyklės CORS scenarijuose.
  • Vaizdų optimizavimą: /image/{cid} adresas leidžia pakeisti dydį, apkarpyti ir konvertuoti formatą realiuoju laiku — nereikia atskiro vaizdų CDN.

Jei jūsų naudojimo atvejis yra turinio teikimas žiniatinklio sąsajai, CORS kilmės apribojimas ir integruoti vaizdų optimizavimo adresai sutaupo atskirą paslaugos integraciją.


Esamo CID prisegimas

Jau turite CID iš kito mazgo ar paslaugos? Abi platformos leidžia jį prisegti be pakartotinio įkėlimo. IPFS Ninja:

curl -X POST https://api.ipfs.ninja/pin \
  -H "X-Api-Key: bws_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4" \
  -H "Content-Type: application/json" \
  -d '{
    "cid": "bafkreib4mrow...",
    "description": "Pinned from external source"
  }'

Filebase atveju prisegate per PUT į savo kibirą su CID kaip pasirinktiniu metaduomenų antraštė, tada Filebase paima ir prisega jį. CID pirminis srautas IPFS Ninja yra tiesesnis, jei dirbate IPFS natūraliai, o ne S3 natūraliai.

Žr. kas yra IPFS pinning — išsamesnis paaiškinimas, kodėl prisegimas svarbus ir kas nutinka, kai turinys nėra prisegtas.


Įkėlimas iš naršyklės neatskleidžiant prisijungimo duomenų

Tai dažnas architektūros klausimas: kaip leisti naršyklei įkelti į IPFS neišsiunčiant savo API rakto klientui?

Filebase būdas: sugeneruokite iš anksto pasirašytą S3 PUT URL savo serveryje, grąžinkite jį klientui, klientas atlieka PUT tiesiai. Standartinis S3 iš anksto pasirašymo šablonas, veikia gerai, tačiau reikia įgyvendinti serverio pusės pasirašymo adresą.

IPFS Ninja būdas: iškvieskite /token/upload/new (arba sugeneruokite per valdymo skydelį), kad sukurtumėte pasirašytą įkėlimo tokeną. Įterpkite tą tokeną į savo sąsają. Klientas siunčia POST į api.ipfs.ninja naudodamas Authorization: Signed {token}. Tokeną galima apriboti, kad jis baigtų galioti po nustatyto laiko, arba iš karto atšaukti per valdymo skydelį.

// Frontend code — token was fetched from your server
const token = 'your-signed-upload-token';

const response = await fetch('https://api.ipfs.ninja/upload/new', {
  method: 'POST',
  headers: {
    'Authorization': `Signed ${token}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    content: btoa(fileContentAsArrayBuffer), // base64 for binary
    description: 'User uploaded file',
  }),
});

const { cid, uris } = await response.json();
console.log('Pinned at:', uris.url);

Išsamesnį įkėlimo šablonų aprašymą rasite čia: kaip įkelti failus į IPFS.


Kada vis tiek rinktis Filebase

Šis straipsnis skirtas būti sąžiningas, o ne vienpusis.

Rinkitės Filebase, jei:

  • Jūsų kodų bazė jau naudoja AWS SDK v3 arba Boto3 ir norite jokių papildomų priklausomybių.
  • Migruojate iš S3 į IPFS ir norite keisti adresus, o ne perrašyti įkėlimo logiką.
  • Saugote labai didelius failus ir jums reikalingas patikimas daliminis įkėlimas su S3 semantika (nors IPFS Ninja taip pat turi didelių failų įkėlimo API).
  • Jūsų komanda puikiai išmano AWS ir S3 autentifikacija jiems pažįstamesnė nei REST antraštės.

Rinkitės IPFS Ninja, jei:

  • Norite vieno POST /upload/new, kad gautumėte CID atgal be tarpinių žingsnių.
  • Kuriate sąsajos pirmiausia pagrįstą programą ir jums reikia klientui saugių įkėlimo tokenų, nestačant iš anksto pasirašymo infrastruktūros.
  • Norite vaizdų optimizavimo ir prieigos kontroliuojamų šliuzų nepridedant kitos paslaugos.
  • Esate jautrus kainai ir $5/mėn įėjimo taškas svarbus jūsų projekto etapui.

Santrauka

Filebase yra solidi produktas komandoms, jau gyvenančioms AWS ekosistemoje. Jo S3 suderinamumas yra tikras privalumas tame kontekste. Tačiau kūrėjams, kurie tiesiog nori prisegti failus į IPFS per švarų REST API — ir iš karto gauti CID atgal — S3 sluoksnis prideda ceremonijas be naudos.

IPFS Ninja išlaiko API paviršių minimalų: įkelti, prisegti, gauti. Šliuzo, vaizdų optimizavimo ir įkėlimo tokenų funkcijos yra prieinamos, kai jų reikia, o ne reikalaujamos iš anksto.

Platesnis IPFS Ninja palyginimas su kitomis paslaugomis: geriausios IPFS prisegimo paslaugos.


Pasiruošę pradėti prisegti? Sukurkite nemokamą paskyrą — 500 failų, 1 GB saugykla, nereikia kredito kortelės.


Apie šį straipsnį: šį straipsnį parengė AI asistentas naudodamas IPFS.NINJA turinio generavimo srautą, vėliau jį peržiūrėjo ir patvirtino Nacho Coll. Visi kodo pavyzdžiai buvo patikrinti pagal veikiančią IPFS.NINJA API. Jei pastebėjote netikslumą, atidarykite problemą adresu https://github.com/ipfs-ninja/feedback. Skaitykite daugiau apie kaip mes naudojame AI savo turinyje ir susipažinkite su žmonėmis už IPFS.NINJA.

Grįžti į Tinklaraštį