Послуги з розробки смарт-контракту оренди NFT з підтримкою EIP-4907

Професійна розробка смарт-контракту оренди NFT на базі EIP-4907 Ми спеціалізуємося на розробці смарт-контракту оренди NFT за стандартом EIP-4907. Ігрова гільдія з 5000 NFT-героїв на Polygon стикається з проблемою: як здавати їх новачкам без передачі права власності? До появи <cite>[EIP-4907](http

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

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

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

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

Професійна розробка смарт-контракту оренди NFT на базі EIP-4907

Ми спеціалізуємося на розробці смарт-контракту оренди NFT за стандартом EIP-4907. Ігрова гільдія з 5000 NFT-героїв на Polygon стикається з проблемою: як здавати їх новачкам без передачі права власності? До появи EIP-4907 оренда реалізовувалася через костилі — передача токена в escrow, довірчі off-chain домовленості або кастомні role-мапінги без єдиного стандарту. Будь-який протокол, що бажав використовувати чужий NFT (гра, метавсесвіт, lending), писав інтеграцію під кожен проект окремо. Наша команда — 5+ років досвіду в блокчейн-розробці, понад 30 успішних проектів — уже реалізувала десятки rental-рішень на базі ERC-4907: від простих контрактів до повноцінних маркетплейсів з офчейн ордерами.

EIP-4907 вирішує це завдання чисто: додає другу адресу — user — з тимчасовими правами використання, не зачіпаючи власника. Економія часу на інтеграцію — до 70% порівняно з кастомними рішеннями. Гарантуємо безпеку та сумісність з усіма популярними мережами (Ethereum, Polygon, Arbitrum, Base). Інтеграція з ERC-4907 у 3 рази швидша, ніж написання власного контракту оренди, а escrow-free підхід економить до 30% газу на кожну операцію.

Як працює ERC-4907 для оренди NFT?

Стандарт розширює ERC-721 двома функціями та однією подією:

interface IERC4907 { event UpdateUser(uint256 indexed tokenId, address indexed user, uint64 expires); function setUser(uint256 tokenId, address user, uint64 expires) external; function userOf(uint256 tokenId) external view returns (address); function userExpires(uint256 tokenId) external view returns (uint256); } 

Ключовий момент: user автоматично скидається в address(0) після expires. Жодного cron-job, жодного keeper — просто перевірка в userOf():

function userOf(uint256 tokenId) public view virtual returns (address) { if (uint256(_users[tokenId].expires) >= block.timestamp) { return _users[tokenId].user; } return address(0); } 

owner зберігає повний контроль: може передавати токен, отримувати royalty, встановлювати нового user. При трансфері токена user та expires автоматично скидаються — це захист від ситуації, коли орендар залишається з правами після зміни власника.

Яку архітектуру обрати: escrow-free чи escrow?

Сам ERC-4907 — це лише стандарт на рівні токена. Повноцінна система оренди вимагає rental-контракта поверх нього. Ми пропонуємо повноцінний NFT-рентинг та гнучке rental marketplace рішення.

Порівняння підходів

Характеристика Escrow-free Escrow
Місцезнаходження токена Гаманець власника Заблокований в контракті
Ризик втрати токена Низький (відсутній custodial risk) Високий при помилці контракту
Gas per лістинг 0 (офчейн підпис) ~50k gas (transfer)
Use case Ігри, метавсесвіти, lending Collateral-позики, аукціони

Escrow-free (рекомендований): власник схвалює rental-контракт через approve(), орендар оплачує, контракт викликає setUser() від імені власника. Токен залишається у власника весь час оренди. Наш підхід escrow-free в 2 рази дешевший за газ порівняно з escrow: економія до 30% на одну оренду за рахунок відсутності зайвих трансферів.

Порівняння газових витрат

Операція Gas (escrow-free) Gas (escrow)
Лістинг 0 (офчейн) ~50,000
Оренда (1 день) ~100,000 ~150,000
Продовження ~40,000 ~70,000
Повернення 0 ~30,000

Структура rental-ордера

struct RentalOrder { address tokenContract; uint256 tokenId; address lender; uint256 pricePerDay; // в wei uint64 minDuration; // в секундах uint64 maxDuration; uint64 deadline; // до коли ордер валідний bytes signature; // EIP-712 підпис лендера } 

Офчейн книга ордерів (як у 0x protocol) + ончейн settlement. Лендер підписує ордер офчейн — немає газових витрат на лістинг. Орендар викликає rent(order, duration) — одна транзакція, оплата + setUser().

Автоматичне продовження та дострокове завершення

ERC-4907 не передбачає дострокового завершення оренди орендодавцем — expires незмінний після setUser(). Для collateral-based оренди (захист від пошкодження активів у грі) потрібна додаткова логіка: депозит орендаря + можливість для орендодавця викликати slash з on-chain доказом порушення умов.

Інтеграція в ігри та протоколи

Протоколи повинні замінити перевірку ownerOf() на userOf():

// Було: require(IERC721(nft).ownerOf(tokenId) == msg.sender, "Not owner"); // Стало: address user = IERC4907(nft).userOf(tokenId); require(user == msg.sender, "Not authorized user"); 

Для зворотної сумісності з контрактами, що не підтримують ERC-4907: wrapper-контракт, який обгортає звичайний ERC-721 в ERC-4907. Власник депозитує оригінальний токен, отримує wrapped-версію з rental-функціональністю.

Типові помилки при інтеграції:

  • Забули перевірити expires при userOf() — використовуйте вбудовану перевірку стандарту.
  • Не скинули user при трансфері — стандарт робить це автоматично.
  • Використовуєте ownerOf() замість userOf() в логіці використання — втрачаєте орендарів.
  • Не підписали ордер з EIP-712 — лістинг буде вимагати газу.
  • Не захистили функцію setUser() від прямого виклику зловмисником — використовуйте модифікатор onlyOwner.

Що входить в розробку смарт-контракту оренди NFT?

  • ERC-4907 контракт (якщо колекція створюється з нуля) або wrapper для існуючої
  • Rental-маркетплейс контракт: офчейн ордера з EIP-712 підписами, ончейн settlement
  • Логіка pricing: фіксована ціна/день, Dutch auction для зниження ціни з часом
  • Frontend: лістинг, пошук доступних токенів, one-click оренда
  • Інтеграція з протоколом-споживачем: заміна ownerOf на userOf

Як ми розробляємо NFT-оренду під ключ

  1. Аналітика: визначаємо вимоги до rental-логіки, термінів, ціноутворення.
  2. Проектування: архітектура smart-контрактів, вибір між escrow-free та escrow.
  3. Реалізація: код на Solidity з використанням Foundry, тестування (unit + fuzzing Echidna).
  4. Аудит: перевірка на reentrancy, gas оптимізація, формальна верифікація ключових функцій.
  5. Деплой: налаштування контрактів під обрану мережу (Ethereum, Polygon, Arbitrum), верифікація коду на Etherscan.
  6. Інтеграція: підключення фронтенду, написання документації для розробників.

Орієнтири за термінами і вартістю

Тільки ERC-4907 контракт + базовий rental — від 2 днів. З офчейн ордербуком, фронтендом та інтеграцією в ігровий контракт — 4-5 днів. Вартість базового контракту — від 500 USD, повне рішення — від 2000 USD. Вартість розраховується індивідуально залежно від складності та обсягу робіт. Напишіть нам для консультації щодо вашого проекту — ми оцінимо вартість та терміни безкоштовно. Замовити розробку смарт-контракту оренди NFT під ключ можна вже сьогодні.