Розгортання сайдчейну
Ми розгортаємо сайдчейни під ключ — від вибору стеку до запуску mainnet із налаштуванням моста та валідаторів. На відміну від L2 rollup, сайдчейн не успадковує безпеку батьківської мережі: у нього власний консенсус, валідатори та фінальність. Це дає більше гнучкості та низьку вартість транзакцій, але вимагає незалежної моделі довіри. Серед наших проектів — кастомні gas token для ігрових мереж, permissioned блокчейни для корпорацій та high-throughput сайдчейни для DeFi. Зв'яжіться з нами, щоб оцінити ваше завдання.
Практичні причини будувати сайдчейн, а не використовувати існуючий L2: потрібен кастомний gas token, потрібна permissioned мережа (корпоративний блокчейн), потрібні специфічні правила консенсусу (наприклад, PoA для ігрового проекту з відомими валідаторами), потрібен повний контроль над параметрами мережі без governance.
Ми використовуємо OP Stack для більшості EVM-проектів: це перевірений і документований шлях, на якому побудовані Coinbase Base та Worldcoin. Polygon CDK — для ZK-сумісності, Cosmos SDK — для application-specific chains, Substrate — для парачейнів.
Як вибрати стек для сайдчейну?
OP Stack (Optimism) — найпопулярніший вибір для EVM-сумісних мереж. Технічно це L2 архітектура (Optimistic Rollup), але може працювати в режимі сайдчейну без Settlement на Ethereum (sovereign mode). Використовується Coinbase Base, Worldcoin, Zora, десятки інших.
Polygon CDK (Chain Development Kit) — ZK-based, складніший у налаштуванні, але забезпечує ZK-proof security при бажанні інтеграції з Ethereum.
Cosmos SDK — для application-specific chains. Не EVM за замовчуванням (але є Ethermint для EVM сумісності). IBC для міжмережевої взаємодії. Виправданий, коли потрібен повний контроль над консенсусом та gas economics.
Substrate (Polkadot ecosystem) — для parachain або standalone chain. Складний у розробці кастомної логіки, але потужний фреймворк.
Для більшості EVM-проектів рекомендую OP Stack як найбільш перевірений і документований шлях.
Розгортання OP Stack сайдчейну
Мінімальна інфраструктура OP Stack:
L1 (Ethereum mainnet або testnet) ├── SystemConfig contract ├── OptimismPortal contract (bridge deposits/withdrawals) ├── L1CrossDomainMessenger └── L1StandardBridge L2 (ваша мережа) ├── op-geth (execution client, форк Geth) ├── op-node (rollup node / sequencer) ├── op-batcher (батчинг транзакцій у L1) └── op-proposer (публікація state roots у L1) Крок 1: Деплой L1 контрактів
git clone https://github.com/ethereum-optimism/optimism && cd optimism git checkout op-contracts/v1.6.0 # використовуйте конкретний тег # Генерація конфігу cd packages/contracts-bedrock cp deploy-config/getting-started.json deploy-config/mychain.json # Редагуємо: l2ChainID, baseFeeVaultRecipient, sequencerAddress, etc. # Деплой forge script scripts/deploy/Deploy.s.sol:Deploy \ --private-key $DEPLOYER_PRIVATE_KEY \ --broadcast \ --rpc-url $L1_RPC_URL \ --slow Крок 2: Генерація genesis блоку
cd op-node go run ./cmd/main.go genesis l2 \ --deploy-config ../packages/contracts-bedrock/deploy-config/mychain.json \ --l1-deployments ../packages/contracts-bedrock/deployments/mychain/.deploy \ --outfile.l2 genesis.json \ --outfile.rollup rollup.json \ --l1-rpc $L1_RPC_URL Крок 3: Запуск op-geth
geth init --datadir /data/op-geth genesis.json geth \ --datadir /data/op-geth \ --networkid <L2_CHAIN_ID> \ --http --http.api eth,net,web3,debug \ --authrpc.jwtsecret /data/jwt.hex \ --syncmode full \ --gcmode archive # потрібен для op-node Крок 4: Запуск op-node (sequencer)
op-node \ --l2=http://localhost:8551 \ --l2.jwt-secret=/data/jwt.hex \ --sequencer.enabled \ --sequencer.l1-confs=4 \ --verifier.l1-confs=4 \ --rollup.config=rollup.json \ --rpc.addr=0.0.0.0 \ --rpc.port=8547 \ --p2p.disable \ # увімкнути при наявності другої ноди --l1=$L1_RPC_WS \ --l1.beacon=$L1_BEACON_URL Міст: депозити та виводи
Стандартний міст OP Stack працює через OptimismPortal на L1 та L2StandardBridge на L2.
Депозит (L1 → L2): користувач викликає depositETH() на L1StandardBridge, транзакція відображається на L2 через ~2–3 хвилини (після inclusions у L2 batch).
Вивід (L2 → L1): триетапний процес:
- Транзакція виводу на L2
- Очікування публікації state root на L1 (op-proposer робить це кожні N блоків)
- Період dispute window (7 днів для mainnet) — після цього finalizeWithdrawal на L1
7-денний dispute window — наслідок Optimistic Rollup архітектури (fraud proof window). Для sovereign сайдчейну без settlement цей період можна налаштувати довільно або усунути повністю.
Кастомний gas token
OP Stack підтримує Custom Gas Token (починаючи з Bedrock + новіші версії) — ERC-20 токен замість ETH як native currency для оплати gas. Параметри задаються при деплої:
{ "useCustomGasToken": true, "customGasTokenAddress": "0xYOUR_TOKEN_ON_L1" } Це популярно для gaming chains (платити gas ігровим токеном) та enterprise chains (газ у стейблкоїні).
Продуктивність та параметри
Ключові параметри, що впливають на throughput та UX:
| Параметр | Default | Коментар |
|---|---|---|
| l2BlockTime | 2 сек | Можна знизити до 1 сек для high-frequency додатків |
| maxSequencerDrift | 600 сек | Скільки L2 може працювати без L1 даних |
| channelTimeout | 300 блоків L1 | Максимальний lag для batcher |
| GasLimit | 30M | Gas per block; збільшення вимагає більше ресурсів sequencer |
Безпека та централізація
Стандартний OP Stack деплой — повністю централізований sequencer. Це означає:
- Sequencer може цензурувати транзакції (хоча force-inclusion через L1 залишається)
- Sequencer downtime = мережа не виробляє блоки
Для decentralization sequencer: OP Stack Sequencer Decentralization (ще в розробці у Optimism Foundation) або зовнішні рішення типу Espresso Systems (shared sequencer marketplace).
Мінімальний набір для production:
- Multisig на всі upgrade admin ролі (SystemConfig owner, ProxyAdmin owner)
- Timelock на критичні зміни параметрів
- Моніторинг L1 контрактів на предмет unauthorized upgrade спроб
- Резервний L1 RPC (якщо основний падає — batcher і proposer зупиняються)
Що входить у розгортання під ключ?
| Фаза | Зміст | Термін |
|---|---|---|
| Architecture & config | Вибір стеку, параметри мережі, tokenomics gas | 1 тиж |
| Testnet deployment | Деплой на Sepolia, внутрішнє тестування | 1–2 тиж |
| Bridge testing | Депозити/виводи, stress test | 1 тиж |
| Security review | Аудит L1 контрактів, конфігурація multisig | 2–4 тиж |
| Infrastructure | Monitoring, alerting, DevOps | 1 тиж |
| Public testnet | Відкритий тест, багбаунті | 2–4 тиж |
| Mainnet | Деплой, поетапне відкриття | 1–2 тиж |
Реалістичний термін: 2–3 місяці від початку до mainnet при виділеній команді. Оцінимо ваш проект безкоштовно — зв'яжіться з нами.
Наш досвід: 5 років на ринку блокчейн-розробки, понад 20 успішних проектів, сертифіковані інженери з Solidity та Rust. Гарантуємо надійність та безпеку розгорнутої інфраструктури.







