Разработка Move-to-Earn механик

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Разработка Move-to-Earn механик
Сложная
~1-2 недели
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Разработка Move-to-Earn механик

STEPN в 2022 году показал, что физическая активность и крипто-экономика могут образовать петлю с многомиллиардным рынком. Потом показал, что неправильно сконструированная токен-экономика эту петлю разрывает за несколько недель. Move-to-Earn — не только геймификация фитнеса, это сложная система с орacles, anti-cheat механиками, двухтокенной экономикой и проблемой устойчивости, которую STEPN так и не решил.

Разработка M2E механик — это пересечение mobile разработки, on-chain логики и экономического дизайна. Технически реализовать несложно. Сделать устойчивую систему, которая не схлопнется через месяц — принципиально другая задача.

Архитектура данных движения

Что считать и как верифицировать

Телефон генерирует данные акселерометра, гироскопа и GPS. Из них извлекаются: шаги (pedometer), расстояние (GPS + step count fusion), скорость, тип активности (ходьба / бег / велосипед). Проблема: эти данные легко подделать.

iOS CoreMotion / Android SensorManager — нативные API для шагов и активности. На iOS CMPedometer — системный педометр, данные нативно верифицированы Apple. Android — HealthConnect API с аналогичным уровнем доверия.

Но приложение не должно доверять этим данным напрямую для on-chain записи — это открывает вектор для root/jailbreak фарминга.

Anti-cheat: многоуровневая защита

Level 1: Device integrity. iOS App Attest / Android Play Integrity API — подтверждение, что приложение запущено на реальном устройстве без джейлбрейка, без эмулятора. Attestation запрос к Apple/Google серверу, ответ — подписанный токен.

// iOS App Attest flow
async function getAttestation(challenge: string): Promise<AttestationResult> {
    const keyId = await DCAppAttestService.generateKey()
    const clientDataHash = sha256(challenge)
    const attestation = await DCAppAttestService.attestKey(keyId, clientDataHash)

    // Отправляем на backend для верификации
    const result = await api.post('/verify-attestation', {
        attestation: btoa(attestation),
        keyId,
        challenge
    })
    return result
}

Level 2: Activity plausibility check. Backend анализирует GPS трек и шаги на правдоподобность:

  • Скорость > 12 м/с при типе «ходьба» → флаг
  • Идеально ровный шаг каждые 0.8с без вариации → флаг (эмулятор)
  • GPS трек телепортируется на 500м → флаг
  • Все сессии ровно 30 минут день в день → подозрение
interface ActivitySession {
    userId: string
    startTime: number
    endTime: number
    steps: number
    distance: number      // метры
    avgSpeed: number      // м/с
    gpsTracks: GpsPoint[]
    rawAccelerometer?: number[]  // для анализа паттернов
    integrityToken: string      // Play Integrity / App Attest token
}

function validateSession(session: ActivitySession): ValidationResult {
    const duration = (session.endTime - session.startTime) / 1000 // секунды
    const avgStepFrequency = session.steps / duration

    const flags: string[] = []

    if (session.avgSpeed > 3.5 && session.activityType === 'walk') flags.push('speed_anomaly')
    if (avgStepFrequency > 3.5 || avgStepFrequency < 0.8) flags.push('step_frequency_anomaly')
    if (hasGpsTeleportation(session.gpsTracks)) flags.push('gps_anomaly')
    if (hasZeroVariance(session.rawAccelerometer)) flags.push('synthetic_data')

    return { valid: flags.length === 0, flags, score: calculateTrustScore(session, flags) }
}

Level 3: Machine Learning аномалия. При масштабе — ML модель на паттернах активности. Человек имеет характерные вариации шага, ритм дыхания (отражается в акселерометре), GPS нет у эмулятора без mock location. Модель обучается на легитимных сессиях, ловит отклонения.

Level 4: Rate limiting через NFT durability. STEPN-подобный механизм: снаряжение (NFT кроссовки) имеет energy pool. Без energy — нет reward. Energy восстанавливается медленно. Это не только game mechanic — это rate limiter: даже если кто-то имитирует активность, Energy cap ограничивает максимальный reward.

On-chain архитектура

NFT снаряжение и атрибуты

struct Equipment {
    uint256 tokenId;
    EquipmentType equipType;  // SHOES, BICYCLE, etc.
    uint8 efficiency;         // влияет на base reward
    uint8 luck;               // влияет на drop rate
    uint8 comfort;            // влияет на earning range
    uint8 resilience;         // влияет на durability drain rate
    uint16 durability;        // текущая прочность (0-100)
    uint8 level;              // max 30
    uint8 mintCount;          // сколько раз использован для минта потомков
}

mapping(uint256 => Equipment) public equipment;
mapping(address => uint256) public energyPool; // текущая energy
mapping(address => uint256) public lastEnergyRefill;

Reward контракт и oracle

Backend верифицирует сессию, подписывает claim. Пользователь предъявляет подпись в reward контракте:

contract MoveToEarnReward {
    address public rewardSigner;    // backend signer
    mapping(bytes32 => bool) public claimedSessions;

    function claimReward(
        bytes32 sessionId,
        uint256 steps,
        uint256 rewardAmount,
        uint256 equipmentId,
        uint256 deadline,
        bytes calldata signature
    ) external {
        require(block.timestamp <= deadline, "Expired");
        require(!claimedSessions[sessionId], "Already claimed");

        bytes32 hash = keccak256(abi.encodePacked(
            sessionId, msg.sender, steps, rewardAmount, equipmentId, deadline
        ));
        bytes32 ethHash = ECDSA.toEthSignedMessageHash(hash);
        require(ECDSA.recover(ethHash, signature) == rewardSigner, "Invalid signature");

        claimedSessions[sessionId] = true;

        // Уменьшаем durability NFT
        _drainDurability(equipmentId, steps);

        // Минтим reward токен
        rewardToken.mint(msg.sender, rewardAmount);
    }
}

Токен-экономика: проблема устойчивости

STEPN имел GST (spending token) и GMT (governance token). GST бесконечно минтился за шаги, бесконечно сжигался на ремонт/апгрейд. Пока новых игроков больше чем старых — токен растёт. Когда рост остановился — инфляция съела цену за недели.

Dual-token с burn sink:

Earning token (ET) — минтится за активность, используется на:
  - Ремонт durability (sink 1, основной)
  - Upgrade NFT атрибутов (sink 2)
  - Crafting (mint нового NFT) (sink 3, создаёт инфляцию NFT)

Governance token (GT) — ограниченный supply, получается:
  - Редкие drops за активность (luck атрибут влияет)
  - Стейкинг
  - DAO участие

Переменный emission rate. Reward за шаг = f(активность сети, daily active users, общее сожжение за период). Если sink < mint → emit снижается автоматически. Это не решение, но замедляет деградацию.

Real-world value sink. Самое устойчивое решение: часть revenue от новых NFT продаж идёт в buyback & burn earning token. Реальные деньги → deflation давление. Decentralized health insurance partnership (пользователь получает скидку на страховку за активность, страховая оплачивает токенами) — экзотично, но видно в нескольких проектах.

Activity data monetization. Агрегированные (и анонимизированные) данные активности имеют ценность для фармацевтических исследований, городского планирования. B2B продажа этих данных = real revenue = buyback. Требует тщательное согласие пользователей и GDPR compliance.

Уровни и прогрессия

NFT имеет уровень (0-30). Каждый уровень открывает слоты для gems (дополнительные бусты). Upgrade требует сжигания ET + time lock:

Уровень ET стоимость Время Разблокирует
1 → 5 10 ET Instant Socket 1 (gem slot)
5 → 10 50 ET 24h Socket 2
10 → 20 200 ET 72h Socket 3, Mint capability
20 → 30 1000 ET 7d Socket 4, Special abilities

Time lock — это не только механика, это дополнительный sink и throttle на reward farminng.

Mobile stack

React Native + Expo — наиболее быстрый путь для cross-platform. Expo bare workflow для доступа к native modules (CMPedometer, Play Integrity). Expo Location для GPS background tracking.

Mapbox / Google Maps SDK для отображения GPS трека. Background location требует explicit permission и оправданного UX объяснения пользователю.

WalletConnect v2 + wagmi для подключения кошелька. Альтернатива — embedded wallet через Privy/Dynamic для no-crypto-native аудитории.

Mobile App (React Native)
├── Activity Tracking (CoreMotion / HealthConnect)
├── Anti-cheat (App Attest / Play Integrity)
├── GPS Recording (Expo Location background)
├── Session Upload → Backend
│       ├── Plausibility Check
│       ├── ML Anomaly Detection
│       └── Sign Reward Claim
└── On-chain Claim (wagmi / WalletConnect)

Процесс разработки

Tokenomics design (2-4 недели). Это не техническая задача, но критическая. Моделирование в Python/Excel: при каких параметрах система устойчива? Sensitivity analysis на DAU growth rate, churn, avg session reward.

Smart contracts (3-4 недели). NFT контракт (ERC-721 + атрибуты), reward контракт с oracle-backed claim, ET token (ERC-20 с mint/burn), upgrade механика.

Backend (3-5 недель). Activity validation pipeline, anti-cheat системы, reward calculation, signer service, App Attest / Play Integrity интеграция.

Mobile app (6-10 недель). GPS + activity tracking, background sessions, NFT viewer, reward claim UI, marketplace интеграция.

Аудит и тестирование. Smart contract аудит обязателен. Beta с ограниченным пулом пользователей для валидации anti-cheat до public launch.

MVP (web app без mobile, базовый anti-cheat) — 2-3 месяца. Полноценный M2E с mobile, multi-level NFT, anti-cheat ML, устойчивой токен-экономикой — 6-9 месяцев.