Разработка инструмента оценки рарити 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 / (count_of_tokens_with_this_trait / total_supply). Итоговый 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"), трейты с числовыми значениями (требуют бининга или отдельной обработки), metadata refresh после reveal

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

Реализация и API

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

Фронтенд отображает:

Атрибут Значение Встречается Рарити 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 для клиентской интеграции без собственного бэкенда — подходит для небольших коллекций, которые полностью помещаются в память браузера.