Розробка інструменту оцінки рарити NFT

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Розробка інструменту оцінки рарити NFT
Середній
~2-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
    1120
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    588
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    855

Розробка інструменту оцінки рарити NFT

Коли користувач дивиться на свій токен з колекції з 10 000 штук, перше питання — наскільки він рідкий. "Рідкий" здається очевидним поняттям, але за ним стоїть нетривіальна математика: різні алгоритми розрахунку дають різні рейтинги для одного й того ж токена, і вибір методології прямо впливає на сприйняту вартість.

Методології розрахунку рарити

Trait Rarity Score — базовий та найпоширеніший підхід. Для кожного атрибуту токена беремо його рідкість: 1 / (кількість_токенів_з_цим_ознакою / загальна_пропозиція). Підсумковий score це сума по всім ознакам. Проблема: колекції з різною кількістю ознак несумісні, а токени з великою кількістю ознак отримують перевагу просто за їх кількість.

Statistical Rarity — добуток ймовірностей ознак. Токен рідкий тільки якщо всі його ознаки рідкі одночасно. Це інтуїтивно чесніше, але математично придушує токени з однією екстремально рідкою ознакою.

Jaccard Distance / Information Content — більш академічні підходи, використовувані в інструментах типу Rarity Sniper та трекерах на базі rarity.tools. Information Content обчислює −log2(p) для кожної ознаки, що дає більш збалансований розподіл без вибухового зростання score для унікальних ознак.

Trait Normalization — корекція на середню кількість ознак у колекції. Якщо середній токен має 5 атрибутів, а конкретний — 8, його score ділиться на поправочний коефіцієнт. Реалізовано в OpenRarity — відкритому стандарті, який зараз активно просуває OpenSea.

Для серйозного інструменту має сенс показувати кілька методологій паралельно — користувач сам вибирає, яку вважати авторитетною.

Джерела даних та індексування

Метаданні NFT-колекцій зберігаються або в IPFS (CID колекції), або на централізованих серверах (через tokenURI). Для розрахунку рарити потрібно завантажити та спарсити метаданні всієї колекції.

Стратегія збору даних:

  • Читаємо contractURI або tokenURI(0..n) з контракту через batch RPC calls (eth_call multicall через Multicall3)
  • Для IPFS — резолвимо gateway (Cloudflare IPFS, Pinata, або власний IPFS-нод) та завантажуємо JSON батчами
  • Обробляємо edge-cases: токени з null ознаками (вважаються як окремий атрибут "None"), ознаки з числовими значеннями (потребують біннінгу або окремої обробки), оновлення метаданих після reveal

Індекс будуємо в PostgreSQL або Redis: таблиця token_traits(collection_id, token_id, trait_type, trait_value) + агрегати по кожній ознаці. Перерахунок рарити після оновлення метаданих — інкрементальний.

Реалізація та API

Бекенд-сервіс на Node.js/Go приймає адресу контракту, визначає цепочку (через chainId), завантажує та індексує колекцію, обчислює scores за обраними методологіями. Результат — ендпоінт /rarity/{contract}/{tokenId} з повним breakdown по ознакам.

Фронтенд відображає:

Атрибут Значення Зустрічається Rarity score
Background Cosmic Purple 3.2% 31.25
Eyes Laser 0.8% 125.0
Mouth Gold Grill 1.5% 66.67

Плюс загальний ранг токена в колекції та перцентиль рідкості.

Важлива деталь: кешуємо результати агресивно. Метаданні колекції після reveal не змінюються — TTL можна ставити дуже великим. Перший розрахунок колекції на 10k токенів займає секунди, повторні запити — мілісекунди.

Інтеграція з маркетплейсами

Якщо інструмент вбудовується в уже існуючий маркетплейс або NFT-дашборд, рарити-score передається як атрибут при відображенні токена. OpenRarity надає npm-пакет @openrarity/rarity-scorer для клієнтської інтеграції без власного бекенду — підходить для невеликих колекцій, які повністю помістяться в пам'ять браузера.