Проєктування архітектури 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-2981 — royaltyInfo(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-2 дні). Тип проєкту (PFP / gaming / art / membership), цільові маркетплейси, вимоги до royalty, запланований utility (стейкінг, governance, доступ до контенту).
- Архітектурний документ (1-2 дні). Вибір стандарту з обґрунтуванням, схема зберігання метаданих, mint механіка, royalty підхід, roadmap апгрейдів якщо потрібні.
- Технічний аудит архітектури. Перевіряємо сумісність з цільовими маркетплейсами (OpenSea, Blur, LooksRare), потенційні газ-проблеми, attack surface.
- Здача результату. Markdown-документ з архітектурними рішеннями, ER-діаграма контрактів, storage layout, список ризиків. На основі документа — розробка.
Що входить в роботу
- Архітектурний документ (вибір стандарту, схема метаданих, mint логіка)
- ER-діаграма контрактів та storage layout
- Аналіз газ-оптимізацій для batch mint та transfer
- Перевірка сумісності з маркетплейсами
- Список ризиків та рекомендації з безпеки
- Консультація за підсумками (до 1 години)
Орієнтири за термінами
Архітектурне проєктування NFT-проєкту — 3-5 днів. Включає документ з рішеннями, схеми, рев'ю ризиків. Вартість розраховується після первинного брифінгу про проєкт. Замовте архітектурне проєктування — ми підготуємо документ і схеми за 3–5 днів. Зв'яжіться, щоб обговорити ваш проєкт та отримати оцінку. Отримайте консультацію зі стандартів токенів NFT та зберігання метаданих.







