Налаштування зберігання метаданих NFT на IPFS

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Налаштування зберігання метаданих NFT на IPFS
Простий
~1 день
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    920
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    610
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    885

Налаштування зберігання метаданих NFT на IPFS

IPFS — content-addressed хранилище: адреса файлу (CID) — це хеш його вмісту. Змінити файл за тією ж адресою неможливо — це фундаментальне властивість робить IPFS правильним вибором для NFT метаданих. Якщо контракт зберігає ipfs://QmXxx... у tokenURI — арт та метаданні привязані до конкретного вмісту навіки.

Структура метаданих та пиннінг

Що й як загружаємо

Стандартний набір для NFT-коллекції:

  • images/ — PNG/WebP файли токенів, 1000x1000px мінімум
  • metadata/ — JSON файли, по одному на токен
  • Опційно: анімації (MP4/WebM), 3D моделі (GLB)

Кожен JSON метаданих містить поле image з IPFS URI зображення. Загружаємо в два етапи: спочатку загружаємо папку з зображеннями, отримуємо CID директорії, потім генеруємо JSON з цим CID у полях image, загружаємо папку JSON. Так IPFS CID метаданих фіксований та містить посилання на фіксовані зображення — повна цепочка immutability.

Пиннінг: чому він критичний

IPFS за замовчуванням видаляє файли через garbage collection, якщо на них немає active pin. Без пиннінгу файли існують лише поки кхтось активно їх запитує. Для NFT це неприйнятно.

Pinata — найпоширеніший сервіс. API для програмного пиннінгу, виділені gateway URLs, підтримка IPFS + Arweave. Є безплатний tier для тестування.

NFT.Storage (тепер nft.storage/storacha) — безплатне зберігання NFT даних через Filecoin. Надійне довгострокове зберігання, але менш гнучко в API.

Web3.Storage — Filecoin-backed зберігання з HTTP gateway. Альтернатива для тих, хто хоче redundancy через Filecoin deals.

Для серйозних коллекцій рекомендуємо double-pin: Pinata + Arweave. Arweave — permanent storage з одноразовою оплатою, дані зберігаються навіки через endowment механізм. Вартість — ~$5-15 за GB. Для коллекції на 10 000 токенів з 5 MB зображеннями — ~$300 за вічне зберігання.

Практична налаштування

Скрипт загрузки через Pinata API (Node.js):

import { PinataSDK } from "pinata";
const pinata = new PinataSDK({ pinataJwt: process.env.PINATA_JWT });

// Upload images folder
const imagesUpload = await pinata.upload.folder("./images");
const imagesCID = imagesUpload.IpfsHash;

// Generate and upload metadata
const metadata = tokens.map((id) => ({
  name: `Collection #${id}`,
  image: `ipfs://${imagesCID}/${id}.png`,
  attributes: traits[id]
}));
const metaUpload = await pinata.upload.folder(metadata, { name: "metadata" });

CID з metaUpload.IpfsHash — це те, що йде в baseURI контракту.

Перевірка доступності

Після загрузки перевіряємо доступність через публічні IPFS gateway (cloudflare-ipfs.com, ipfs.io). Важливо: не захардкодуйте конкретний gateway в контракті — тільки ipfs://CID/. Маркетплейси (OpenSea, Blur) самі резолвять IPFS URI через свої gateway.

Ориєнтири по термінах

Налаштування пиннінгу та загрузка метаданих для готової коллекції — 1 робочий день. Включає: upload зображень, генерацію JSON, пиннінг на Pinata + backup Arweave, перевірку доступності через gateway, передачу CID для контракту.