Розробка блокчейн-проекту

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

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

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

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1217
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    919
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1146
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    609
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    884

Розробка блокчейн-проекту

"Блокчейн-проект" — навмисне широке визначення. Перш ніж говорити про технології, потрібно відповісти на конкретне питання: що саме блокчейн вирішує у вашому продукті, чого не вирішує традиційна база даних? Якщо відповідь розмита — ймовірно, вам потрібна просто розподілена система, а не блокчейн. Якщо відповідь чітка — безпосередня виконання логіки, верифікованість даних, токенізація активів, безпермісійна участь — тоді починаємо проектувати.

Вибір блокчейна: архітектурне рішення з довгостроковими наслідками

Не існує "найкращого блокчейна" — є правильний для конкретного use case.

EVM-сумісні мережі

Ethereum mainnet — максимальна децентралізація та безпека, інструменти розробки першого рівня (Foundry, Hardhat, Slither, Echidna). Виправдано для: протоколів з великим TVL, де безпека > вартість; фінансових примітивів, які мають бути сумісні з екосистемою DeFi.

Arbitrum / Optimism — Optimistic Rollups. EVM-еквівалентність (Arbitrum One) або EVM-сумісність (OP Stack). Gas у 10–50x дешевше за mainnet, фіналізація ~7 днів для withdrawals (fraud proof window). Виправдано для додатків з високою частотою транзакцій: торгівля, ігри, соціальні додатки.

Base — OP Stack L2 від Coinbase. Швидко зростаюча екосистема, хороший onramp через Coinbase. Придатна для додатків, орієнтованих на користувачів.

Polygon PoS — не L2, а sidechain з мостом до Ethereum. Швидка, дешева, але інша модель безпеки. Добра для NFT-проектів з частими транзакціями.

zkSync Era / Polygon zkEVM / Scroll — ZK Rollups. Сильніші гарантії безпеки ніж Optimistic (без fraud window), але ZK proofs створюють overhead виконання. zkSync має Native Account Abstraction (AA) на рівні протоколу — важлива архітектурна перевага для UX.

Не-EVM

Solana — високий throughput (65k TPS теоретично, ~3–5k TPS насправді), паралельне виконання транзакцій через Sealevel, низькі комісії. Програмування на Rust через Anchor framework. Інструменти значно менш зрілі ніж EVM, debugger примітивний, помилки гірше читаються. Виправдано для: high-frequency trading, ігор з real-time механіками, додатків де gas cost критичний.

TON — нативна інтеграція з Telegram (900M MAU). FunC/Tact для смарт-контрактів. Якщо ваша аудиторія в Telegram — серйозний аргумент на користь TON.

Cosmos SDK — для випадків, коли потрібен власний blockchain (application-specific chain). IBC для міжмережевої взаємодії. Високий поріг входу, але повний контроль над консенсусом, управлінням, газовим токеном.

Смарт-контракти: від архітектури до деплойменту

Архітектурні паттерни

Proxy upgradeable patterns — більшість production контрактів використовують апгрейдуємість. Три основні паттерни:

  • Transparent Proxy (OpenZeppelin) — адміністратор і користувачі викликають різні функції. Проблема: адміністратор не може використовувати протокол як користувач.
  • UUPS (EIP-1822) — логіка апгрейду в implementation контракті. Менше gas overhead, гнучкіше. Ризик: якщо задеплоїти implementation без функції апгрейду — контракт навіки заблокується.
  • Diamond (EIP-2535) — множество "facets" (реалізацій) за одним прокси. Вирішує ліміт розміру контракту (24KB), але складно в аудиті.

Для більшості проектів — UUPS через @openzeppelin/contracts-upgradeable це правильний вибір.

Access control — не Ownable, а AccessControl від OpenZeppelin для проектів з кількома ролями:

bytes32 public constant ADMIN_ROLE = keccak256("ADMIN_ROLE");
bytes32 public constant OPERATOR_ROLE = keccak256("OPERATOR_ROLE");
bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE");

Pausable — аварійна пауза завжди потрібна в DeFi контрактах. Паузер має бути multisig або timelock, не EOA.

Типові уразливості

З багаторічного досвіду роботи з аудитами, ось що зустрічається найчастіше:

Reentrancy — класика. У 2024 році все ще трапляється. Захист: ReentrancyGuard від OZ + 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
}

Маніпуляція ціною через 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 завжди дорівнює сумі всіх балансів", "здоров'я протоколу ніколи не йде в мінус".

Інфраструктура та DevOps

Деплойментт і multisig

Ніяких деплойментів з EOA у production. Схема:

Developer EOA → Gnosis Safe 3/5 multisig → Timelock (48h delay) → Contract

Timelock дає користувачам час реагувати на зловмисний апгрейд. Для DeFi протоколів з TVL > $1M — обов'язково.

Hardhat Ignition або Foundry Deploy Scripts для відтворюваних деплойментів. Всі параметри деплойменту — у версійному контролі, не у голові розробників.

On-Chain моніторинг

OpenZeppelin Defender — моніторинг транзакцій, автоматичні реакції (пауза при аномалії), безпечне управління ключами для автоматизації.

Tenderly — симуляція транзакцій, alerts, debugger. Незамінний для отладки складних multi-contract взаємодій.

The Graph — індексування подій для фронтенду та аналітики. Subgraph пишеться один раз, деплоїться в децентралізовану мережу, дані доступні через GraphQL.

Аудит

Аудит — не фінальний крок, а частина процесу. Для серйозних протоколів: внутрішній review (Slither + Echidna + ручний аналіз) → попередній аудит від однієї фірми → основний аудит → виправлення знахідок → повторний аудит змін. Терміни: 4–8 тижнів для типового mid-complexity DeFi протоколу. Бюджет: $20k–$150k залежно від аудитора (Trail of Bits, Spearbit, Code4rena contest).

Етапи проекту

Фаза Зміст Термін
Architecture & design Вибір мережі, архітектура контрактів, tokenomics 1–2 тижні
Core contracts Розробка та unit тести 2–6 тижнів
Integration testing Fork тести, інтеграційні сценарії 1–2 тижні
Frontend dApp, wallet інтеграція 2–6 тижнів
Audit Зовнішній аудит + виправлення 4–8 тижнів
Testnet deployment Публічний тестнет, bug bounty 2–4 тижні
Mainnet Деплойментт, моніторинг 1 тиждень

Реалістичний термін від ідеї до mainnet: 3–6 місяців для протоколу середної складності. Проекти, які "запускаються за 2 тижні", зазвичай мають незакриті критичні уразливості.