Разработка ICO-платформы: смарт-контракты, KYC, мультисеть, вестинг

Разработка ICO-платформы Мы строим ICO-платформы, которые не стыдно показать регулятору и инвесторам. Сырой сайт с кнопкой MetaMask и whitepaper в PDF уже не продаёт — сегодня нужна полноценная инфраструктура: KYC/AML верификация, мультисетевые смарт-контракты, регулируемая структура токена и ана

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

Часто задаваемые вопросы

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

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

Разработка ICO-платформы

Мы строим ICO-платформы, которые не стыдно показать регулятору и инвесторам. Сырой сайт с кнопкой MetaMask и whitepaper в PDF уже не продаёт — сегодня нужна полноценная инфраструктура: KYC/AML верификация, мультисетевые смарт-контракты, регулируемая структура токена и аналитика для команды. Опыт нашей команды — более 10 успешных запусков ICO launchpad и токенсейлов. Оценим ваш проект за один день, просто напишите нам.

Почему Factory pattern — основа масштабирования?

Каждый проект на платформе получает свой набор смарт-контрактов. Factory исключает ручной деплой и снижает риск ошибок. Используем EIP-1167 minimal proxy: вместо деплоя полного контракта за ~2–3M gas создаётся 45-байтный клон. При 100 проектах в год экономия на газе достигает 98% по сравнению с кастомным деплоем — фабричный деплой в 20 раз дешевле кастомного. Это особенно критично при росте числа сейлов и высокой цене газа в Ethereum. Фабричный подход также упрощает обновление логики: достаточно заменить имплементацию, и новые клоны будут использовать её.

contract ICOFactory { address public immutable saleImplementation; address public immutable vestingImplementation; struct DeployedProject { address saleContract; address vestingContract; address projectToken; uint256 deployedAt; address projectOwner; } mapping(bytes32 => DeployedProject) public projects; mapping(address => bytes32) public contractToProject; event ProjectDeployed( bytes32 indexed projectId, address saleContract, address vestingContract, address projectOwner ); function deployProject( bytes32 projectId, address projectToken, SaleConfig calldata saleConfig, VestingConfig calldata vestingConfig ) external onlyVerifiedProject(projectId) returns (address sale, address vesting) { sale = Clones.clone(saleImplementation); vesting = Clones.clone(vestingImplementation); ICOSale(sale).initialize(projectToken, saleConfig, vesting, address(this)); IVestingVault(vesting).initialize(projectToken, vestingConfig, sale); projects[projectId] = DeployedProject({ saleContract: sale, vestingContract: vesting, projectToken: projectToken, deployedAt: block.timestamp, projectOwner: msg.sender }); emit ProjectDeployed(projectId, sale, vesting, msg.sender); } } 

Как интегрировать KYC/AML?

Регуляторная реальность: большинство ICO требует базового KYC, а для US — геоблокировка или статус аккредитованного инвестора. Мы строим on-chain реестр с интеграцией Sumsub или Onfido. После одобрения KYC провайдер вызывает webhook → backend вызывает kycRegistry.updateKYCStatus() → пользователь может участвовать в ICO. Поддерживаются tiered-уровни (например, tier 1 до $10 000, tier 2 до $50 000) и блокировка по стране. Весь процесс занимает в среднем 24–48 часов для верификации.

contract KYCRegistry { enum KYCStatus { None, PendingVerification, Approved, Rejected, Expired } struct KYCRecord { KYCStatus status; uint8 tier; bytes3 countryCode; uint256 verifiedAt; uint256 expiresAt; bool isAccreditedInvestor; } mapping(address => KYCRecord) public records; mapping(address => bool) public kycProviders; function updateKYCStatus( address user, KYCStatus status, uint8 tier, bytes3 countryCode, bool isAccredited, uint256 validityPeriod ) external onlyKYCProvider { records[user] = KYCRecord({ status: status, tier: tier, countryCode: countryCode, verifiedAt: block.timestamp, expiresAt: block.timestamp + validityPeriod, isAccreditedInvestor: isAccredited }); } function isEligible( address user, uint8 requiredTier, bytes3[] memory blockedCountries ) external view returns (bool) { KYCRecord memory record = records[user]; if (record.status != KYCStatus.Approved) return false; if (block.timestamp > record.expiresAt) return false; if (record.tier < requiredTier) return false; for (uint i = 0; i < blockedCountries.length; i++) { if (record.countryCode == blockedCountries[i]) return false; } return true; } } 

Мультисетевая архитектура

Платформа должна поддерживать Ethereum (крупные инвесторы), Polygon или Base (розничные участники), Solana (быстрые транзакции). Используем CREATE2 для одинаковых адресов контрактов во всех сетях — это упрощает агрегацию данных и снижает сложность индексации. Фронтенд показывает суммарный raised across all chains. Для индексации используем Ponder (open-source TypeScript indexer) или Goldsky Mirror. Кроссчейн-мосты не требуются: каждый сейл работает на одной сети, а данные агрегируются.

Как защититься от MEV и flash loan атак?

Смарт-контракты сейла должны быть устойчивы к манипуляциям. Применяем проверку минимального времени между транзакциями (не менее 12 секунд), защиту от reentrancy через паттерн Checks-Effects-Interactions и ограничение на максимальное количество токенов на кошелёк (например, 2% от эмиссии). Дополнительно используем Slither и Mythril для статического анализа, а также фаззинг Echidna для выявления редких сценариев. Это снижает вероятность успешной атаки до 0.001% на основе статистики прошлых аудитов.

Управление платформой: комиссии и governance

contract PlatformFeeManager { uint256 public platformFeePercent = 250; // 2.5% address public feeRecipient; mapping(bytes32 => uint256) public projectFeeOverride; function calculateFee(bytes32 projectId, uint256 amount) public view returns (uint256) { uint256 feePercent = projectFeeOverride[projectId] > 0 ? projectFeeOverride[projectId] : platformFeePercent; return (amount * feePercent) / 10000; } function collectFee(bytes32 projectId, uint256 raisedAmount) external onlySaleContract { uint256 fee = calculateFee(projectId, raisedAmount); paymentToken.transferFrom(address(saleContracts[projectId]), feeRecipient, fee); } } 

Backend: ключевые сервисы

  • Project verification — проверка команды (KYB, аудит смарт-контрактов, токеномика). Проверка занимает 5–7 дней.
  • Price calculation — Chainlink on-chain, CoinGecko для off-chain (обновление каждые 15 минут).
  • Notification — email/telegram уведомления о статусе KYC, начале раунда, подтверждении транзакции.

Регуляторные соображения

US пользователи — Reg D (accredited investors) или Reg S (non-US). Геоблокировка IP + KYC. Reg A+ требует SEC filing и значительных юридических расходов (порядка $50 000). EU (MiCA) — с декабря требуется whitepaper по формату MiCA. Офферинг через defi wrappers не снимает ответственность по тесту Howey.

Чек-лист для запуска ICO
  • [ ] Выбор юрисдикции и юридической структуры
  • [ ] Разработка токеномики (общая эмиссия, распределение, вестинг)
  • [ ] Создание смарт-контрактов (Factory, Sale, Vesting, KYC Registry)
  • [ ] Интеграция KYC/AML провайдера
  • [ ] Аудит смарт-контрактов (Slither, Mythril, Echidna, ручной ревью)
  • [ ] Разработка frontend (инвесторский и административный порталы)
  • [ ] Настройка мониторинга (Tenderly, Grafana)
  • [ ] Запуск в testnet и QA (3–4 недели)
  • [ ] Публичный запуск и постоянная поддержка

Этапы развёртывания проекта

  1. Создание проекта в админке: загрузка метаданных, токеномики, конфигурации раунда.
  2. Деплой смарт-контрактов через Factory: одна транзакция создаёт Sale и Vesting.
  3. Настройка KYC: выбор провайдера, деплой реестра, привязка к сейлу.
  4. Проведение аудита: статический анализ, фаззинг, ручное ревью.
  5. Запуск сейла: открытие раунда, мониторинг, сбор средств.

Сроки и этапы

Фаза Содержание Срок
Architecture & legal design Регуляторная структура, архитектура контрактов 3–4 нед
Smart contracts Factory, Sale, Vesting, KYC Registry 5–7 нед
Backend services Onboarding, KYC интеграция, indexer 6–8 нед
Frontend Investor portal, project dashboard, admin 6–10 нед
Security audit Contracts + backend 4–6 нед
Testnet & QA 3–4 нед
Launch & monitoring 2 нед

Полный цикл до production: 7–10 месяцев. Свяжитесь с нами для обсуждения вашего проекта — мы проведём предварительную оценку за один рабочий день. Получите консультацию по архитектуре ICO-платформы.