Настройка децентрализованного хранения данных

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Настройка децентрализованного хранения данных
Средний
от 1 дня до 3 дней
Часто задаваемые вопросы

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

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

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1285
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1198
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    902
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1122
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    589
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    859

Настройка децентрализованного хранения данных

Децентрализованное хранилище нужно не всегда и не везде. NFT метаданные на централизованном сервере — это реальная проблема (если сервер ляжет, NFT потеряет изображение). Документы для DAO-голосования на IPFS — обоснованно. Пользовательские сессии на Filecoin — избыточно. Начнём с того, когда это реально нужно.

IPFS: стандарт для Web3 контента

IPFS (InterPlanetary File System) — content-addressed хранилище. Файлы идентифицируются по CID (Content Identifier) — хешу содержимого. Ключевое свойство: один и тот же файл имеет один и тот же CID везде. Это делает ссылки иммутабельными и верифицируемыми.

Проблема "pinning"

IPFS не гарантирует хранение. Файл существует пока кто-то его "пинит" (держит у себя). Если вы просто загрузили через ipfs add — через несколько дней garbage collector может удалить файл с вашей ноды, и если больше никто не пинит — файл исчезнет.

Решения:

Pinning services:

  • Pinata — наиболее популярный, REST API, удобный dashboard, $0 до 1 GB
  • web3.storage (от Protocol Labs) — бесплатный tier, хранение в Filecoin под капотом
  • Infura IPFS — для команд уже использующих Infura
import { PinataSDK } from 'pinata'

const pinata = new PinataSDK({ pinataJwt: process.env.PINATA_JWT })

// Загрузка файла
const upload = await pinata.upload.file(file)
console.log(upload.IpfsHash) // CID: Qm... или bafy...

// Загрузка JSON метаданных (NFT стандарт)
const metadata = await pinata.upload.json({
  name: "My NFT",
  description: "...",
  image: `ipfs://${imageCID}`
})

Self-hosted IPFS нода с Kubo:

ipfs init
ipfs daemon &
ipfs pin add QmYwAPJzv5CZsnA... # пинить конкретный CID

Для production — нода с достаточным диском + пинирование всего контента вашего приложения. Комбинация self-hosted + один pinning service как backup — разумный минимум.

IPFS Gateway

Браузеры не понимают ipfs:// нативно (Brave — исключение). Для пользователей нужен HTTP gateway:

  • https://ipfs.io/ipfs/{CID} — публичный, медленный
  • https://gateway.pinata.cloud/ipfs/{CID} — быстрее для пинированного контента
  • Собственный gateway — ipfs daemon умеет работать как gateway на порту 8080

Для NFT маркетплейсов — собственный gateway обязателен. Зависимость от ipfs.io нарушает decentralization.

Filecoin: гарантированное долгосрочное хранение

IPFS — протокол адресации. Filecoin — экономический слой поверх него. Провайдеры хранения (Storage Providers) получают FIL за хранение данных по верифицируемым deal-контрактам.

Напрямую работать с Filecoin сложно: нужны deals, минимальный размер хранения, специфичный API. На практике используют абстракции:

Lighthouse — простой API для хранения на Filecoin, работает как pinning service:

import lighthouse from '@lighthouse-web3/sdk'

const response = await lighthouse.upload('./path/to/file', API_KEY)
console.log(response.data.Hash) // CID
// Данные автоматически хранятся в Filecoin сделках

estuary (deprecated) / w3s (web3.storage) — аналогичный подход.

Filecoin оправдан для: долгосрочных архивов, данных DAO, compliance-чувствительных документов где нужна proof of storage.

Arweave: "заплати раз, храни вечно"

Arweave — принципиально другой подход. Разовый платёж покрывает хранение навсегда (математически: 200 лет с текущими размерами цепи). Используется Active Storage Model — AR токен.

Стоимость: ~$5–10 за GB (меняется с ценой AR). Для небольших NFT коллекций — очень привлекательно по сравнению с ежемесячными платежами.

Bundlr (теперь Irys) — абстракция над Arweave, мультивалютная оплата (ETH, SOL, MATIC вместо AR):

import Irys from '@irys/sdk'

const irys = new Irys({
  network: 'mainnet',
  token: 'ethereum',
  key: process.env.PRIVATE_KEY
})

const response = await irys.uploadFile('./nft-image.png')
console.log(`https://arweave.net/${response.id}`)

Arweave — первый выбор для NFT изображений и постоянных on-chain данных. Solana NFT экосистема (Metaplex) исторически использует Arweave.

Storj и Sia: зашифрованное P2P хранение

Storj — enterprise-grade децентрализованное хранилище с S3-совместимым API. Данные шифруются и разделяются по нодам сети. Для приложений которым нужна замена S3 с privacy гарантиями:

import { S3Client } from '@aws-sdk/client-s3'

const client = new S3Client({
  endpoint: 'https://gateway.storjshare.io',
  credentials: { accessKeyId: KEY, secretAccessKey: SECRET },
  region: 'us-east-1'
})
// Далее стандартный AWS S3 SDK

Выбор хранилища: матрица решений

Use case Решение Причина
NFT изображения Arweave / IPFS + Pinata Постоянность, стандарт индустрии
NFT метаданные JSON Arweave / IPFS То же
DAO документы IPFS + Filecoin Верифицируемость + долгосрочность
Пользовательский контент (UGC) IPFS + self-hosted gateway Гибкость, контроль
Приватные зашифрованные данные Storj S3-совместимость, шифрование
Архивы, compliance Filecoin Proof of storage

Что настраивается за 1–3 дня

Выбор и настройка хранилища под ваш use case, интеграция SDK в бэкенд или смарт-контракты (CID в контракте вместо HTTP URL), настройка IPFS gateway (self-hosted или через CDN), upload pipeline для NFT контента (изображение → CID → метаданные JSON → CID → mint), автоматическое пинирование новых файлов.