Разработка мобильного приложения для NFT-маркетплейса

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Разработка мобильного приложения для NFT-маркетплейса
Сложный
от 2 недель до 3 месяцев
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Разработка мобильного приложения для NFT-маркетплейса

NFT-маркетплейс на мобильном — это приложение с галереей токенов, экранами коллекций, покупкой и продажей через смарт-контракты, интеграцией Web3-кошельков. В отличие от обычного e-commerce, каждое действие требует подписи транзакции — это принципиально меняет UX. Пользователь не нажимает «Купить» — он подписывает транзакцию в кошельке. Нужно объяснять этот процесс понятно, без потери конверсии.

Стек: Web3 на мобильном

Два подхода к Web3-интеграции:

1. Native SDK. Для iOS — web3.swift или Web3Core. Для Android — web3j. Полный контроль, нативная производительность, но больше кода при работе с ABI и событиями смарт-контрактов.

2. WalletConnect v2 + WebView/React Native. Более быстрый путь, особенно если команда знает Web3/React Native. WalletConnect v2 (sign protocol) работает через QR-код или deep link — подключает внешний кошелёк (MetaMask Mobile, Trust Wallet, Rainbow).

Для полноценного маркетплейса выбор зависит от приоритетов. Нативный SDK даёт лучший UX — не нужно переключаться в сторонний кошелёк для каждой подписи. WalletConnect — быстрее в разработке.

Каталог NFT: загрузка метаданных

NFT-метаданные хранятся на IPFS или в централизованном хранилище. URI доступен через tokenURI(tokenId) в ERC-721. Проблема: IPFS-шлюзы медленные, а загрузка 100 токенов коллекции параллельно через IPFS может занять 10–30 секунд.

// Android — кэширование метаданных NFT с Coil + OkHttp
val imageLoader = ImageLoader.Builder(context)
    .memoryCache {
        MemoryCache.Builder(context)
            .maxSizePercent(0.25) // 25% RAM
            .build()
    }
    .diskCache {
        DiskCache.Builder()
            .directory(context.cacheDir.resolve("nft_images"))
            .maxSizeBytes(500L * 1024 * 1024) // 500 MB
            .build()
    }
    .okHttpClient {
        OkHttpClient.Builder()
            .addInterceptor(IpfsGatewayInterceptor()) // заменяет ipfs:// на https://
            .build()
    }
    .build()

IpfsGatewayInterceptor перехватывает URI вида ipfs://Qm... и подставляет быстрый шлюз — Cloudflare (cloudflare-ipfs.com), NFT.storage, или собственный. Добавь fallback: если первый шлюз не отвечает за 3 секунды — пробуй следующий.

Для коллекций от нескольких тысяч токенов — не грузить метаданные напрямую из блокчейна. Использовать индексатор: The Graph, Alchemy NFT API, Moralis, OpenSea API. Они уже агрегировали метаданные — время ответа 50–200 мс вместо 10+ секунд.

Коллекции и профиль пользователя

Экран коллекции: сетка токенов (2–3 колонки), фильтры по traits (атрибутам), сортировка по цене/редкости. Infinite scroll с prefetching — загружай следующую страницу при достижении 70% текущей. Placeholder skeleton анимации пока грузятся изображения.

Профиль пользователя: список NFT в кошельке (через Alchemy getNFTsForOwner или OpenSea account/:address/nfts), активные листинги, история покупок.

Покупка NFT: flow транзакции

1. Пользователь нажимает «Купить»
2. Приложение вызывает функцию смарт-контракта маркетплейса:
   marketplace.buyItem(nftContract, tokenId, { value: price })
3. WalletConnect отправляет запрос подписи в кошелёк
4. Пользователь подтверждает в кошельке
5. Приложение ожидает подтверждения транзакции (waitForTransaction)
6. Обновляет UI: NFT теперь принадлежит покупателю

Шаг 5 — критический с точки зрения UX. Транзакция может подтвердиться через 15 секунд, может — через 5 минут (при congestion сети). Не блокируй пользователя крутилкой: показывай TransactionHash, ссылку на Etherscan, и позволяй уйти — прислать push при подтверждении.

Создание листинга, аукцион, оферы

Три механики продажи, каждая со своим смарт-контрактом flow:

Fixed Price: approve(marketplaceContract, tokenId) + listItem(price). Две транзакции.

Auction (English Auction): создание аукциона с минимальной ценой и дедлайном, ставки (placeBid), авто-выдача победителю при завершении.

Offers: покупатель делает оффер через ERC-20 permit или обычный approve + makeOffer. Продавец принимает через acceptOffer.

Роялти и стандарты

ERC-2981 — стандарт роялти на уровне смарт-контракта. Вызов royaltyInfo(tokenId, salePrice) возвращает адрес получателя и сумму роялти. Маркетплейс должен учитывать это при расчёте итоговой суммы транзакции и показывать пользователю: «Из этой суммы X% роялти идёт создателю».

Сроки разработки

Компонент Срок
Кошелёк (WalletConnect v2 / embedded) 1 неделя
Каталог с IPFS, пагинацией, фильтрами 1–2 недели
Профиль: NFT пользователя 1 неделя
Fixed Price покупка/продажа 1.5 недели
Аукцион 1.5 недели
Оферы 1 неделя
Поиск и фильтры по traits 1 неделя

MVP с каталогом, покупкой по фиксированной цене и профилем: 6–8 недель. Полноценный маркетплейс с аукционами, оферами, коллекциями и рейтингами: 2–3 месяца.