Проєктування архітектури NFT: стандарти, метадані та газ-оптимізація

Проєктування архітектури NFT: ключові рішення Більшість проблем NFT-проєктів виникають не в момент розробки, а при масштабуванні або виході на маркетплейси. Колекція задеплоєна, продана, а потім з'ясовується: метадані зберігаються на централізованому сервері і при його падінні трейдери бачать пор

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

Часті запитання

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

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

Проєктування архітектури NFT: ключові рішення

Більшість проблем NFT-проєктів виникають не в момент розробки, а при масштабуванні або виході на маркетплейси. Колекція задеплоєна, продана, а потім з'ясовується: метадані зберігаються на централізованому сервері і при його падінні трейдери бачать порожні картинки; роялті не працюють на Blur та LooksRare; контракт не підтримує batch operations і газ на transfer досягає $5 при завантаженій мережі. Ми проєктуємо архітектуру так, щоб такі сюрпризи не трапилися через пів року. Наші інженери з 10-річним досвідом у блокчейн-розробці та 50+ реалізованих NFT-проєктів провели архітектурне проєктування для 50+ NFT-проєктів — це гарантує перевірену експертизу. Отримайте консультацію, щоб уникнути цих помилок.

Як вибрати стандарт токена: ERC-721, ERC-1155 або ERC-721A?

Класичний ERC-721 — стандарт для унікальних NFT. Кожен tokenId унікальний, кожен має свого owner. Широко підтримується маркетплейсами. Слабке місце: _mint в loop — кожен mint це окремий запис у _owners mapping, кожен запис = SSTORE = ~20k gas. Mint 100 NFT в одній транзакції = 2M gas.

ERC-721A (Azuki) вирішує саме це: batch mint записує мінімум даних — тільки запис для першого tokenId в batch, решта обчислюються on-demand через ownerOf. Економія при batch mint — 60-80% газу (у 2-3 рази дешевше ніж ERC-721). Компроміс: ownerOf та transferFrom коштують дорожче ніж в ERC-721 через додаткові обчислення. Для проєктів, де після mint активно торгують — зважте.

ERC-1155 — мультитокен: один контракт містить декілька ID, кожен ID може мати декілька copies (fungible або semi-fungible). Ідеально для: edition NFT (1000 однакових), gaming items (1000 мечів одного типу), сертифікати. Маркетплейси підтримують ERC-1155, але UX іноді гірший ніж у ERC-721 (не всі агрегатори показують edition коректно).

Приклад розрахунку газу для batch mint: Mint 10 ERC-721 токенів у циклі: ~200k gas. Mint 10 ERC-721A токенів: ~80k gas. Економія 60% при ціні газу 50 gwei = економія $18 за 10 токенів. Для колекції 10 000 NFT економія складе понад $18 000.

Стандарт Краще для Gas на mint Gas на transfer
ERC-721 Унікальні PFP Високий Низький
ERC-721A Batch mint PFP Дуже низький Середній
ERC-1155 Edition, gaming Низький Дуже низький

Що таке апгрейдаємість і коли вона потрібна?

Для більшості NFT-колекцій — ні. Immutable контракт викликає більше довіри у колекціонерів. Proxy додає attack surface: storage collision при апгрейді може corrupt _owners mapping — і всі токени стануть «нічиїми». Коли апгрейдаємість виправдана: gaming NFT з evolving mechanics, протокольні NFT в рамках DeFi системи. В цьому випадку — UUPS з timelock: будь-який апгрейд має delay 48-72 години, community може відреагувати.

Як забезпечити перманентне зберігання метаданих?

IPFS — децентралізоване сховище, але файл існує тільки поки хтось його «пінить». Якщо пінер відключиться — ipfs://QmXxxx... стане недоступним. Рішення: платний pinning сервіс (Pinata, NFT.Storage, Filebase) + кілька пінерів. NFT.Storage (Filecoin) зберігає дані перманентно через Filecoin deals — це ближче до справжньої децентралізації, ніж просто IPFS pinning.

Arweave — pay-once-store-forever. Один платіж при завантаженні, дані зберігаються перманентно (~200 років за розрахунками протоколу). Використовується Metaplex (Solana NFT стандарт) і багатьма серйозними ETH проєктами. Для 10,000 NFT зображень Arweave обходиться в $200-500 — дешевше ніж постійний pinning сервіс за кілька років.

Для повністю on-chain NFT (generative art, fully on-chain games) метадані та зображення зберігаються в контракті. tokenURI повертає base64-encoded JSON з base64-encoded SVG всередині. Дорого при деплої ($10k+), але абсолютно перманентно. Приклад: Loot Project, Nouns DAO.

Рішення Вартість за 10K NFT Перманентність Децентралізація
IPFS + Pinata ~$99/міс Ні (поки платиш) Середня
NFT.Storage Безкоштовно (ліміти) Так (Filecoin deals) Висока
Arweave $200–500 разово Так (200+ років) Висока
On-chain >$10,000 разово Так Повна

Як реалізувати роялті через EIP-2981 та оператор фільтр NFT?

Стандарт EIP-2981royaltyInfo(uint256 tokenId, uint256 salePrice) повертає (receiver, royaltyAmount). Підтримується OpenSea, Rarible, Foundation. Не enforced — advisory. Реалізується через ERC2981 з OpenZeppelin:

Згідно з документацією OpenZeppelin, _setDefaultRoyalty встановлює роялті за замовчуванням для всіх токенів, які можна перевизначити для окремих токенів.

_setDefaultRoyalty(treasury, 500); // 5% = 500 basis points 

Для проєктів, які бажають enforced royalty: наслідування від OperatorFilterer, реєстрація в OpenSea Operator Filter Registry. Цей підхід блокує transfer через non-compliant маркетплейси та реалізує оператор фільтр NFT. Вимагає зваженого рішення — обмежує transferability, викликає суперечки в ком'юніті.

Які mint механіки вибрати?

Dutch Auction — для проєктів з високим попитом. Знижує газ-війни (немає сенсу перебивати ціну), справедлива price discovery. Refund механізм для різниці між сплаченою та підсумковою ціною.

Whitelist + Public фази — стандарт. Merkle proof для WL, Public з rate limiting (max N per wallet per tx).

Lazy mint — NFT існує off-chain, створюється on-chain тільки при першій покупці. Collector платить mint gas. Використовується Zora, Foundation. Знижує ризик creator'а — не платиш за деплой 10,000 токенів, які можуть не продатися.

Процес архітектурного проєктування

  1. Аналітика (1-2 дні). Тип проєкту (PFP / gaming / art / membership), цільові маркетплейси, вимоги до royalty, запланований utility (стейкінг, governance, доступ до контенту).
  2. Архітектурний документ (1-2 дні). Вибір стандарту з обґрунтуванням, схема зберігання метаданих, mint механіка, royalty підхід, roadmap апгрейдів якщо потрібні.
  3. Технічний аудит архітектури. Перевіряємо сумісність з цільовими маркетплейсами (OpenSea, Blur, LooksRare), потенційні газ-проблеми, attack surface.
  4. Здача результату. Markdown-документ з архітектурними рішеннями, ER-діаграма контрактів, storage layout, список ризиків. На основі документа — розробка.

Що входить в роботу

  • Архітектурний документ (вибір стандарту, схема метаданих, mint логіка)
  • ER-діаграма контрактів та storage layout
  • Аналіз газ-оптимізацій для batch mint та transfer
  • Перевірка сумісності з маркетплейсами
  • Список ризиків та рекомендації з безпеки
  • Консультація за підсумками (до 1 години)

Орієнтири за термінами

Архітектурне проєктування NFT-проєкту — 3-5 днів. Включає документ з рішеннями, схеми, рев'ю ризиків. Вартість розраховується після первинного брифінгу про проєкт. Замовте архітектурне проєктування — ми підготуємо документ і схеми за 3–5 днів. Зв'яжіться, щоб обговорити ваш проєкт та отримати оцінку. Отримайте консультацію зі стандартів токенів NFT та зберігання метаданих.