Розробка децентралізованих додатків: смарт-контракти, аудит, деплой
Ми часто стикаємося з ситуацією, коли клієнт приходить з ідеєю "запустити блокчейн-проєкт", але не може чітко сформулювати, навіщо йому блокчейн. Головне питання: що саме блокчейн вирішує у вашому продукті, чого не вирішує традиційна база даних? Якщо відповідь розмита — швидше за все, вам потрібна просто розподілена система, а не блокчейн. Якщо відповідь чітка — trustless виконання логіки, верифікованість даних, токенізація активів, permissionless участь — ми починаємо проєктувати. Наша команда має 10+ років досвіду в блокчейн-розробці та реалізувала понад 50 проєктів — від NFT-маркетплейсів до DeFi-протоколів з TVL понад $10M. Ми пропонуємо повний цикл розробки під ключ: від архітектури до деплою та аудиту. Оцінка бюджету — перший крок у будь-якому проєкті, і ми завжди її проводимо на початковій консультації.
Як вибрати блокчейн для вашого проєкту?
Не існує "найкращого блокчейну" — є правильний для конкретного use case.
EVM-сумісні мережі
Ethereum mainnet — максимальна decentralization та security, development tooling першого рівня (Foundry, Hardhat, Slither, Echidna). Виправданий для: протоколів з великими TVL, де безпека > вартості; фінансових примітивів, які повинні бути composable з DeFi екосистемою.
Arbitrum / Optimism — Optimistic Rollups. EVM-еквівалентність (Arbitrum One) або EVM-сумісність (OP Stack). Gas в 10–50x дешевший за mainnet, finality ~7 днів для withdrawals (fraud proof window). Виправданий для додатків з високою частотою транзакцій: trading, gaming, соціальні додатки.
Base — OP Stack L2 від Coinbase. Швидко зростаюча екосистема, хороший onramp через Coinbase. Підходить для consumer-facing додатків.
Polygon PoS — не L2, а sidechain з мостом до Ethereum. Швидко, дешево, але інша модель безпеки. Хороший для NFT-проєктів з частими транзакціями.
zkSync Era / Polygon zkEVM / Scroll — ZK Rollups. Більш строгі гарантії безпеки ніж Optimistic (немає fraud window), але ZK proofs створюють overhead на execution. zkSync має Native Account Abstraction (AA) на рівні протоколу — це important архітектурна перевага для UX.
| Параметр | Arbitrum One | Optimism | zkSync Era | Polygon zkEVM |
|---|---|---|---|---|
| Тип | Optimistic Rollup | Optimistic Rollup | ZK Rollup | ZK Rollup |
| Gas (ETH mainnet=1) | 0.05–0.1 | 0.05–0.1 | 0.01–0.05 | 0.01–0.05 |
| Security | Fraud proofs | Fraud proofs | ZK proofs | ZK proofs |
| EVM-еквівалентність | Повна | Повна | Часткова | Повна |
| Екосистема | Велика | Середня | Зростаюча | Зростаюча |
Не-EVM
Solana — high throughput (65k TPS теоретично, ~3–5k TPS реально), паралельне виконання транзакцій через Sealevel, низькі комісії. Програмування на Rust через Anchor framework. Tooling значно менш зрілий ніж EVM, debugger примітивний, помилки гірше читаються. Виправданий для: high-frequency trading, gaming з real-time механіками, додатків де gas cost критичний.
TON — нативна інтеграція з Telegram (900M MAU). FunC/Tact для смарт-контрактів. Якщо ваша аудиторія в Telegram — серйозний аргумент на користь TON.
Cosmos SDK — для випадків, коли потрібен власний blockchain (application-specific chain). IBC для міжмережевої взаємодії. Високий поріг входу, але повний контроль над консенсусом, governance, gas token.
Типові помилки при виборі блокчейну
1. Вибір мережі за модністю, а не за вимогами проєкту. 2. Ігнорування питань ліквідності для DeFi — мережа повинна мати активні пули. 3. Неврахування юрисдикційних обмежень (наприклад, законодавство США може впливати на вибір).Які вразливості смарт-контрактів зустрічаються найчастіше?
За роки роботи з аудитами, ось що зустрічається найчастіше:
Reentrancy — класика. Досі зустрічається. Захист: ReentrancyGuard від OpenZeppelin + CEI патерн (Checks-Effects-Interactions):
// НЕПРАВИЛЬНО: function withdraw(uint256 amount) external { token.transfer(msg.sender, amount); // interaction до effect balances[msg.sender] -= amount; // effect після } // ПРАВИЛЬНО: function withdraw(uint256 amount) external nonReentrant { balances[msg.sender] -= amount; // effect token.transfer(msg.sender, amount); // interaction } Price manipulation через flash loans — якщо контракт читає ціну з Uniswap spot price. Рішення: TWAP (Time-Weighted Average Price) через IUniswapV3Pool.observe() або Chainlink Price Feed.
Integer overflow/underflow — в Solidity 0.8.x вбудований захист, але при unchecked блоках та при кастомній математиці з downcast — все ще актуально.
Signature replay — при використанні ecrecover без nonce або chain ID в підписаному повідомленні. EIP-712 + EIP-2612 (Permit) вирішують це стандартним способом.
Front-running — MEV. Для AMM-подібних контрактів: deadline + slippage tolerance. Для сенситивних операцій: commit-reveal схема.
Які інструменти ми використовуємо?
Foundry — найкращий інструмент для серйозної розробки. Тести на Solidity, fuzz testing з коробки, форки mainnet в один флаг:
forge test --fork-url $ETH_RPC --fork-block-number 19000000 -vvv Fuzz тестування знаходить edge cases, які ручні тести пропускають:
function testFuzz_deposit(uint256 amount) public { amount = bound(amount, 1, type(uint128).max); // розумні межі deal(address(token), user, amount); vm.prank(user); vault.deposit(amount, user); assertEq(vault.totalAssets(), amount); } Slither — статичний аналізатор. Запускаємо в CI на кожен PR, критичні знахідки блокують мерж.
Echidna — property-based fuzzer. Для інваріантів: "totalSupply завжди дорівнює сумі всіх балансів", "здоров'я протоколу ніколи не йде в мінус".
OpenZeppelin Security Audits рекомендують комбінувати кілька інструментів для покриття різних типів вразливостей.
Як виглядає типовий стек для деплою?
Жодних деплоїв з EOA в production. Схема:
Developer EOA → Gnosis Safe 3/5 multisig → Timelock (48h delay) → Contract Timelock дає користувачам час зреагувати на шкідливий апгрейд. Для DeFi протоколів з TVL > $1M — обов'язковий.
Hardhat Ignition або Foundry Deploy Scripts для відтворюваних деплоїв. Всі параметри деплою — в version control, не в головах розробників.
Аудит — не фінальний крок, а частина процесу. Для серйозних протоколів: внутрішній review (Slither + Echidna + ручний аналіз) → попередній аудит від однієї фірми → основний аудит → виправлення знахідок → повторний аудит змін. Терміни: 4–8 тижнів для типового DeFi протоколу середньої складності. Бюджет розраховується індивідуально.
Як ми розробляємо: покроково
- Аналіз вимог та вибір мережі. Визначаємо, який блокчейн найкраще підходить під ваш use case, враховуючи токеноміку, очікуване навантаження та юридичні аспекти.
- Проєктування архітектури контрактів. Розробляємо діаграми взаємодії, специфікації інтерфейсів та схему даних.
- Розробка смарт-контрактів. Пишемо код на Solidity або Rust, покриваємо unit-тестами (100% coverage).
- Інтеграційне тестування. Запускаємо форк mainnet і перевіряємо сценарії повністю.
- Зовнішній аудит. Передаємо код перевіреній фірмі, виправляємо зауваження, повторний аудит.
- Деплой в testnet та mainnet. Використовуємо мультисиг-гаманці та часові затримки.
- Моніторинг та підтримка. Налаштовуємо Tenderly, OpenZeppelin Defender, даємо 30 днів після деплою.
Етапи проєкту
| Фаза | Зміст | Термін |
|---|---|---|
| Architecture & design | Вибір мережі, архітектура контрактів, tokenomics | 1–2 тиж |
| Core contracts | Розробка та unit тести | 2–6 тиж |
| Integration testing | Fork tests, integration сценарії | 1–2 тиж |
| Frontend | dApp, wallet integration | 2–6 тиж |
| Audit | Зовнішній аудит + виправлення | 4–8 тиж |
| Testnet deployment | Публічний testnet, bug bounty | 2–4 тиж |
| Mainnet | Деплой, моніторинг | 1 тиж |
Реалістичний термін від ідеї до mainnet: 3–6 місяців для протоколу середньої складності. Проєкти, які "запускаються за 2 тижні", зазвичай мають незакриті критичні вразливості.
Що входить в роботу
- Архітектурна документація з обґрунтуванням вибору мережі та патернів.
- Вихідні коди смарт-контрактів з коментарями та unit-тестами (100% coverage).
- Інтеграційні тести на форку mainnet.
- Звіт зовнішнього аудиту з рекомендаціями.
- Розгортання в testnet та mainnet (при необхідності).
- Інструкції з експлуатації та підтримка протягом 30 днів після деплою.
- Доступ до інструментів моніторингу (Tenderly, OpenZeppelin Defender).
Зв'яжіться з нами для оцінки вашого проєкту. Ми проаналізуємо вимоги, запропонуємо оптимальну блокчейн-архітектуру та розрахуємо терміни. Отримайте консультацію — це допоможе уникнути дорогих помилок на старті.







