Захист доходів від NFT: як налаштувати примусові роялті на Blur

Втрата роялті на Blur – проблема, знайома власникам NFT-колекцій. Примусове застосування роялті NFT на Blur можливе лише через OperatorFilterRegistry. Без нього навіть стандарт ERC-2981 не гарантує виплат. Ми налаштуємо захист за годину під ключ, відновивши дохід від вторинних продажів. На основі до

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

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

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

  • 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

Втрата роялті на Blur – проблема, знайома власникам NFT-колекцій. Примусове застосування роялті NFT на Blur можливе лише через OperatorFilterRegistry. Без нього навіть стандарт ERC-2981 не гарантує виплат. Ми налаштуємо захист за годину під ключ, відновивши дохід від вторинних продажів. На основі досвіду з 50+ колекціями ми підготували покрокове керівництво.

Blur офіційно підтверджує примусове застосування роялті для контрактів, зареєстрованих у OperatorFilterRegistry. Проблема в тому, що більшість розробників обмежуються ERC-2981, сподіваючись на сумлінність маркетплейсів. Але Blur не перевіряє ERC-2981 без додаткового фільтра. OperatorFilterRegistry вирішує це: контракт із модифікатором onlyAllowedOperator блокує перекази через неавторизовані майданчики.

Як працює примусове роялті на Blur?

Примусове застосування будується на двох механізмах: впровадження стандарту ERC-2981 та реєстрація в OperatorFilterRegistry. Стандарт ERC-2981 задає on-chain роялті, а OperatorFilter примусово застосовує їх на Blur. Для вже задеплоєних контрактів без підтримки ERC-2981 використовуйте Manifold Royalty Registry — ретроактивне рішення без зміни коду.

ERC-2981: on-chain роялті

ERC-2981 — мінімальний стандарт: контракт реалізує функцію royaltyInfo(tokenId, salePrice), яка повертає отримувача та суму. Якщо контракт уже задеплоєний без ERC-2981, додати його в immutable контракт неможливо. Опції: задеплоїти новий контракт із міграцією або зареєструвати роялті через off-chain реєстри (Manifold).

Manifold Royalty Registry — універсальне рішення: owner старого контракту реєструє отримувача та відсоток без зміни коду. Підтримується Blur, OpenSea, Rarible. Для нових контрактів використовуйте ERC2981 з OpenZeppelin із _setDefaultRoyalty(receiver, feeNumerator) у constructor. feeNumerator із 10000: 500 = 5%.

Чому OperatorFilter гарантує виплати?

Blur вимагає реєстрації в OperatorFilterRegistry для примусових роялті. Контракт, який використовує OperatorFilterer від OpenZeppelin, перевизначає transfer-функції з модифікатором onlyAllowedOperator. Цей механізм блокує торгівлю неавторизованими маркетплейсами, які не дотримуються роялті. Для вже задеплоєних контрактів без апгрейду примусове застосування неможливе — лише ERC-2981 через Manifold як best effort.

Метод Примусовість Складність впровадження Ретроактивність
ERC-2981 Ні (на Blur) Низька (1-2 дні) Ні
OperatorFilter Так Середня (2-4 години) Ні
Manifold Registry Часткова Низька (1 година) Так

OperatorFilter у 3 рази ефективніший за захист роялті порівняно з ERC-2981 без фільтра. Втрата роялті може досягати $5000 на місяць для середньої колекції – налаштування захисту окупається за тиждень. Замовте налаштування сьогодні та захистіть доходи.

Приклад коду: інтеграція DefaultOperatorFilterer

import "@openzeppelin/contracts/access/Ownable.sol"; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/token/common/ERC2981.sol"; import "operator-filter-registry/src/DefaultOperatorFilterer.sol"; contract MyNFT is ERC721, ERC2981, DefaultOperatorFilterer, Ownable { constructor() ERC721("MyNFT", "MNFT") { _setDefaultRoyalty(msg.sender, 500); // 5% } function _beforeTokenTransfer( address from, address to, uint256 tokenId, uint256 batchSize ) internal override(ERC721, OperatorFilterer) { super._beforeTokenTransfer(from, to, tokenId, batchSize); } function supportsInterface(bytes4 interfaceId) public view override(ERC721, ERC2981) returns (bool) { return super.supportsInterface(bytes4 interfaceId); } } 
Технічні деталі для існуючих контрактівЯкщо контракт immutable і не підтримує ERC-2981, використовуйте Manifold Royalty Registry. Це off-chain реєстр: ви реєструєте отримувача та відсоток, а Blur та інші маркетплейси зчитують дані звідти. Процес займає 1-2 години і не вимагає повторного деплою. Однак це не дає 100% примусовості — деякі маркетплейси можуть ігнорувати реєстр.

Процес налаштування під ключ

  1. Аналіз контракту (1-2 години). Перевіряємо наявність ERC-2981, OperatorFilter, можливість апгрейду.
  2. Вибір способу. Якщо контракт новий — інтеграція OperatorFilter + ERC-2981. Якщо існуючий — Manifold або міграція.
  3. Реалізація. Для нового — додавання DefaultOperatorFilterer і ERC2981. Для існуючого — виклик setRoyalties() через Manifold.
  4. Тестування на testnet. Перевіряємо коректність роялті на Blur через тестовий продаж. Використовуємо Sepolia.
  5. Верифікація. Після деплою переконуємося, що колекція відображає відсоток роялті на сторінці маркетплейсу.

Перевірки на testnet: функція royaltyInfo для різних tokenId, перекази через неавторизовані адреси (мають бути відхилені з помилкою NotAllowedOperator), відображення роялті в інтерфейсі Blur testnet. Використовуємо Tenderly для симуляції транзакцій та Slither для статичного аналізу.

Порівняння підтримки роялті на маркетплейсах

Маркетплейс Примусові роялті через OperatorFilter Повага ERC-2981 без фільтра
Blur Так Ні
OpenSea Так Так
X2Y2 Так Ні
LooksRare Так Так

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

  • Аудит поточного смарт-контракту: перевірка стандартів, апгрейдабельності, коду.
  • Рекомендації щодо оптимального способу впровадження роялті.
  • Написання та інтеграція коду (OperatorFilter, ERC-2981, Manifold).
  • Тестування на testnet (Sepolia, Goerli).
  • Документація та навчання команди.

Ми працюємо з блокчейн-проєктами більше 5 років, реалізували понад 50 колекцій NFT на Ethereum, Polygon і BNB Chain. Усі інженери мають сертифікати з Solidity. Оцінимо ваш проект безкоштовно — запишіться на консультацію. Замовте налаштування сьогодні та захистіть доходи своєї колекції.