Разработка децентрализованной краудфандинг-платформы для создателей

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Разработка децентрализованной краудфандинг-платформы для создателей
Сложный
от 1 недели до 3 месяцев
Часто задаваемые вопросы

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

Этапы блокчейн-разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1354
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1248
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    951
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1186
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    643
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    925

Платформа Mirror.xyz собрала миллионы долларов для независимых авторов через NFT-краудфандинг несколько лет назад. Идея продавать долю от будущего дохода или эксклюзивный контент вместо обещаний — принципиально новая модель. Но реализовать её технически сложнее, чем просто «Kickstarter на блокчейне». Мы, команда блокчейн-инженеров с 10+ летним опытом, создаём децентрализованные краудфандинг-платформы под ключ. Наши решения включают прозрачное распределение средств через смарт-контракты, верифицируемые milestones и возврат средств без посредников. Оценим ваш проект бесплатно.

Как обеспечить прозрачное распределение средств?

Наивная реализация: собрать ETH на адрес создателя. Так не работает — пользователи не доверяют неизвестному адресу. Нужен escrow-контракт, который держит средства и освобождает их при выполнении условий. Мы используем архитектуру milestone-based escrow с голосованием бэкеров.

struct Campaign {
    address creator;
    uint256 goal;
    uint256 deadline;
    uint256 raised;
    bool goalReached;
    Milestone[] milestones;
}

struct Milestone {
    string description;
    uint256 releaseAmount;
    bool completed;
    uint256 votes;
    uint256 votesAgainst;
}

Вместо автоматического перевода средств при достижении цели — голосование бэкеров за выполнение milestone. Если 50%+ бэкеров (взвешенных по сумме взноса) подтверждают — escrow отправляет releaseAmount создателю. Если большинство против — средства возвращаются пропорционально взносам. Этот механизм проверен в Giveth и The DAO (до инцидента) — и работает, пока governance активен.

Почему NFT лучше традиционных долей?

Каждый взнос создаёт NFT (ERC-1155) для бэкера. NFT содержит метаданные: сумму, дату, ID кампании. Функции:

  • Access control: платформа проверяет balanceOf(address, campaignId) для доступа к контенту.
  • Revenue sharing: если кампания предполагает роялти от продаж, NFT служит claim-токеном. Контракт распределяет ETH пропорционально весу NFT.
  • Transferability: бэкер может продать позицию на вторичном рынке (OpenSea, Blur). Это создаёт ликвидность, недоступную в традиционном краудфандинге.
Стандарт Где применять Стоимость mint Управление несколькими кампаниями
ERC-721 Уникальные взносы (каждый NFT свой) Высокая Нужен новый контракт на кампанию
ERC-1155 Однородные взносы внутри кампании Низкая (batch) Один контракт для всех

ERC-1155 предпочтительнее: один контракт, более дешёвый mint, поддержка полугрибка.

Refund механизм без доверия

Если кампания не достигла цели к дедлайну, каждый бэкер может вызвать refund() и получить средства обратно. Без посредников. Паттерн — pull refund: контракт не отправляет средства автоматически (gas griefing). Каждый бэкер сам вызывает функцию.

function refund(uint256 campaignId) external {
    Campaign storage c = campaigns[campaignId];
    require(block.timestamp > c.deadline, "Campaign active");
    require(!c.goalReached, "Goal was reached");
    uint256 amount = contributions[campaignId][msg.sender];
    require(amount > 0, "No contribution");
    contributions[campaignId][msg.sender] = 0; // CEI pattern
    (bool success,) = msg.sender.call{value: amount}("");
    require(success, "Transfer failed");
}

Нулевой баланс перед переводом — это Checks-Effects-Interactions. Без него reentrancy через receive() в контракте бэкера.

Платформенный уровень: фабрика кампаний и индексация

Factory + Clone для газ-эффективного деплоя

Каждая кампания — отдельный контракт. Деплой через new Campaign() стоит много газа (сотни тысяч gas). На Ethereum это существенные затраты. Неприемлемо для indie-авторов. Решение: EIP-1167 Minimal Proxy (Clone). CampaignFactory деплоит лёгкий прокси-клон (~45k gas). Прокси делегирует вызовы имплементации. Стоимость создания кампании снижается в 10 раз. Экономия газа до 90%.

Минус: прокси нельзя апгрейдить отдельно. Все клоны используют одну имплементацию. Для обновления — новая фабрика, старые кампании остаются на старой логике (это не баг, а фича — неизменность завершённых кампаний).

The Graph subgraph для индексации

Платформа с сотнями кампаний требует эффективного поиска. On-chain view функции не масштабируются. Решение — The Graph subgraph. Мы деплоим subgraph, который индексирует события:

type Campaign @entity {
  id: ID!
  creator: Bytes!
  goal: BigInt!
  raised: BigInt!
  deadline: BigInt!
  backers: [Backer!]! @derivedFrom(field: "campaign")
  milestones: [Milestone!]! @derivedFrom(field: "campaign")
}

Frontend делает GraphQL-запросы к subgraph вместо прямых RPC. Фильтрация по автору, статусу, категории — всё, что невозможно сделать on-chain.

Мультивалютный краудфандинг

Принимать только ETH — терять аудиторию. Интеграция ERC-20 (USDC, DAI) через SafeERC20 из OpenZeppelin. Одна кампания = одна валюта (упрощает escrow). Для мультивалютных кампаний — конвертация через Uniswap v3 при взносе. Важный нюанс: USDC имеет blacklist — контракт может быть заблокирован Circle. Для долгосрочных escrow используем DAI.

Модерация и dispute resolution

On-chain арбитраж через Kleros

Если бэкеры и создатель не могут прийти к консенсусу по milestone — нужен арбитраж. Kleros Protocol: депозит от обеих сторон, случайные jurors выносят вердикт, проигравший теряет депозит. Интеграция через IArbitrable интерфейс.

Что входит в работу

  • Документация архитектуры и спецификация смарт-контрактов
  • Исходный код с unit-тестами (Foundry) и fork-тестами
  • Инструкция по деплою и верификации контрактов
  • Конфигурация The Graph subgraph
  • Обучение команды (1 день онлайн)
  • Техническая поддержка 1 месяц после запуска

Процесс работы

  1. Проектирование механик (3–5 дней): milestone-структура, NFT-экономика, условия рефанда, параметры governance.
  2. Core смарт-контракты (1–1.5 недели): Campaign, CampaignFactory (EIP-1167), MilestoneVoting, RefundEscrow.
  3. NFT и revenue sharing (3–4 дня): ERC-1155, claim-механизм, распределение роялти.
  4. The Graph subgraph (2–3 дня): schema, mappings, деплой.
  5. Frontend интеграция (1–2 недели): wagmi/viem, создание кампании, страница бэкинга, дашборд.
  6. Тестирование (3–5 дней): unit-, fork-тесты, фаззинг.
  7. Деплой (2–3 дня): скрипты Foundry, верификация, subgraph.

Итого: 3 недели – 3 месяца в зависимости от функциональности. MVP без голосования по milestones — 3–4 недели. Полная платформа с арбитражем и NFT — 2–3 месяца. Стоимость рассчитывается после детализации требований.

Пример конфигурации смарт-контракта Campaign
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;

contract Campaign {
    /// ... реализация
}

Почему выбирают нас

  • 10+ лет опыта в разработке блокчейн-решений
  • 30+ успешных проектов (DeFi, NFT, DAO)
  • 5 лет на рынке
  • Аудиты контрактов ведущими фирмами

Гарантируем прозрачность кода и безопасность средств. Свяжитесь с нами, чтобы обсудить вашу идею — оценим проект и предложим оптимальное решение.

Разработка DeFi-протоколов

Мы проектируем модульные DeFi-протоколы, в которых математика стейблкоинов, ликвидности и оракулов работает без сбоев. Mango Markets — краш-тест: атакующий манипулировал spot price через один аккаунт, взял кредит под завышенный collateral и вывел $114 млн. Оракул брал цену с единственного источника без TWAP. Не баг в коде — это архитектурное решение, которое стало уязвимостью. Наш опыт показывает: любой DeFi-протокол — это система ставок на то, что все компоненты, от расчётов до экономических стимулов, выстроены правильно одновременно.

Мы не пишем код под «если всё работает, не трогай». Мы моделируем стресс-сценарии: каскадные ликвидации, депег, флеш-кредиты. И только после этого — события, которые не сломают протокол.

Почему оракулы — критический компонент DeFi?

Большинство крупных взломов DeFi начинались с манипуляции оракулом. Разберём три слоя, которые мы используем в каждом проекте.

Spot price как оракул — не вариант. Uniswap v2 spot price можно сдвинуть flash loan за одну транзакцию. Цена в конце блока — единственное, что попадает в state, её и читает оракул. Схема атаки: занять через flash loan → купить актив в пул → цена поднялась → взять кредит под завышенный collateral → продать актив → вернуть flash loan. Одна транзакция.

TWAP как защита. Uniswap v3 observe() усредняет цену за период (30 минут). Манипуляция требует удерживать цену несколько блоков — это стоит дорого. Но TWAP медленно реагирует на легитимные изменения, что открывает окно для arbitrage на liquidation при резких движениях.

Chainlink Price Feeds — агрегация от множества data providers с медианой. Стандарт для lending. Проблема: heartbeat 1–24 часа и deviation threshold 0.5%. Если цена не двигается, фид может не обновляться сутки. В волатильном рынке — lag.

Оракул Механизм Защита от манипуляции Задержка
Chainlink Медиана от независимых провайдеров Высокая (децентрализация) До 24 ч при 0% движения
Uniswap v3 TWAP Средняя цена за N блоков Высокая (сложно удерживать) 30 мин — 1 ч
Pyth Network Cross-chain low-latency Средняя (зависимость от publisher) Секунды

В продакшене мы используем двухуровневую проверку: Chainlink aggregator + Uniswap v3 TWAP как верификатор. Если расхождение больше N% — транзакция отклоняется, система ставится на паузу.

Как защитить DeFi-протокол от flash loan атак?

Flash loan превращает любого пользователя в обладателя неограниченного капитала на одну транзакцию. Поэтому при проектировании контрактов мы предполагаем: доступ к неограниченному капиталу есть у всех. Это меняет threat model полностью.

Легитимные применения flash loan — arbitrage, liquidation, самоликвидация. Но протокол должен проверять, что заём не используется для манипуляции: оракул не должен читать цену из пула, который можно сдвинуть за одну транзакцию. Мы добавляем проверки на block.timestamp и минимальную глубину ликвидности.

Ключевые компоненты DeFi-архитектуры

Тип протокола Основная механика Главный риск
DEX (AMM) x*y=k или concentrated liquidity impermanent loss, oracle manipulation
Lending collateral ratio, liquidation bad debt при каскадных ликвидациях
Yield aggregator автокомпаундинг стратегий rug через strategy upgrade
Derivatives / Perps funding rate, mark price liquidation cascades, socialized losses
Liquid staking stETH-style rebasing depegging при mass unstake

AMM: от x*y=k до concentrated liquidity

Uniswap v2 использует x * y = k. LP-токены ERC-20 — каждый пул выпускает свой токен пропорционально доле. Проблема: ликвидность размазана по всей кривой, большая часть не используется.

Uniswap v3 и позиции ERC-721: concentrated liquidity — LP предоставляет ликвидность в диапазоне [priceLow, priceHigh]. Capital efficiency до 4000x для стабильных пар. Но ERC-721 ломает vault-стратегии под ERC-20. Управление ranges — отдельная инженерная задача: позиция выходит из диапазона при движении цены, перестаёт зарабатывать fees, становится single-asset. Протоколы типа Arrakis Finance автоматически rebalance. Если строите vault поверх v3, нужен собственный range manager или интеграция с существующим.

Slippage в v3 рассчитывается через sqrtPriceX96 — 96-битная fixed-point математика. Ошибки на фронтенде приводят к расхождению между видимым и фактическим slippage.

Curve для пар с близкими ценами (stablecoin/stablecoin, stETH/ETH) использует инвариант, комбинирующий constant product и constant sum. Меньше slippage в диапазоне peg. Контракты на Vyper, код математически плотный, аудировать сложно.

Lending протоколы: collateral, liquidation, bad debt

LTV определяет максимальный кредит под collateral. Liquidation threshold — уровень ликвидации. Разница — буфер для liquidator. Типичный пример: LTV 75%, liquidation threshold 80%, bonus 5%. Если цена падает на 20%+, позиция открыта к ликвидации.

Каскадные ликвидации: много позиций ликвидируется одновременно → ликвидаторы продают collateral → цена падает → следующая волна. LUNA/UST 2022 — классический каскад.

Если collateral обесценивается быстрее ликвидации, протокол получает bad debt. Aave использует Safety Module (застейканный AAVE), Compound — reserves. Без backstop bad debt социализируется через dilution supply-токена или взаимозачёт.

Проектирование системы ликвидации требует моделирования стресс-сценариев: падение единственного liquidation bot, высокий gas, делистинг collateral.

Yield farming и incentive mechanics

Liquidity mining — раздача governance-токенов LP-провайдерам. Проблема mercenary capital: фармеры приходят, продают токены, уходят. TVL фиктивный.

Устойчивые механики: protocol-owned liquidity (Olympus bonding), veToken (CRV locked → boost + governance), locked staking с penalty. Ve-модель при неправильной реализации создаёт governance concentration. Нужен timelock на изменения gauge weights и лимиты на votingPower.

Что входит в нашу разработку DeFi-протоколов

  • Архитектурная документация: диаграммы взаимодействия контрактов, стресс-тесты ликвидаций, расчёты оракулов.
  • Реализация на Solidity 0.8.x с OpenZeppelin 5.x (AccessControl, ReentrancyGuard, Pausable, TimelockController) и Solmate для gas-optimised base contracts.
  • Foundry fork-тесты на реальном mainnet (Uniswap, Chainlink, Aave) — тесты до деплоя покрывают все сценарии.
  • Аудит: минимум два независимых аудитора для TVL от $1M. Code4rena или Sherlock для bug bounty.
  • Деплой с Gnosis Safe 3/5 multisig + timelock 48–72 часа.
  • Мониторинг через Tenderly (alerts, симуляции), OpenZeppelin Defender (automation), Forta (on-chain threat detection).
  • Поддержка после запуска: обновления, патчи, апгрейды через proxy.

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

Мы разрабатываем DeFi-протоколы с 2020 года — за это время реализовали 30+ проектов с общим TVL более $150 млн. Среди клиентов — протоколы в топ-20 по TVL на Ethereum, Arbitrum и Base. Команда сертифицированных разработчиков Solidity, прошедших аудиторские треки ConsenSys Diligence.

DeFi на Wikipedia — базовые принципы, которые мы применяем на практике.

Сроки

  • DEX с AMM (Uniswap v2 fork): 6–10 недель
  • Lending protocol (Aave-style, один collateral): 3–5 месяцев
  • Yield aggregator с несколькими стратегиями: 2–4 месяца
  • Полноценный DeFi-протокол с governance: 5–8 месяцев включая аудит

Стоимость рассчитывается индивидуально — свяжитесь для оценки вашего проекта.

Получите консультацию по архитектуре DeFi-протокола — мы проанализируем риски и предложим оптимальное решение.