Ми деплоїмо смарт-контракти на Arbitrum з урахуванням усіх особливостей Optimistic Rollup. Це EVM-сумісний L2, де більшість Ethereum-контрактів працюють без змін, але є критичні нюанси: від двокомпонентного gas до precompiles, яких немає в Ethereum. Розберемо їх на практиці.
Помилки на етапі деплою можуть коштувати дорого: перевитрата газу, некоректна робота з block.number, проблеми з верифікацією. Наш досвід — понад 5 років у блокчейн-розробці та 50+ успішно запущених контрактів на Ethereum і L2. Ми гарантуємо, що ваш контракт працюватиме стабільно та безпечно.
Чому деплой на Arbitrum потребує особливого підходу?
Gas модель — перше, про що спотикаються новачки. Arbitrum використовує двокомпонентний gas: L2 execution gas (аналог Ethereum gas, дешево) та L1 calldata cost (вартість публікації даних в Ethereum). tx.gasprice на Arbitrum не дорівнює Ethereum — використовуйте ArbGasInfo precompile для точного розрахунку. Середня економія на газі при роботі з Arbitrum становить 90% порівняно з Ethereum — деплой простого ERC-20 контракту на Ethereum обходиться у $150–300, а на Arbitrum — $1–5.
Block numbers — block.number повертає L1 Ethereum block number, а не Arbitrum-native. Для отримання номера блоку Arbitrum викликайте ArbSys(0x64).arbBlockNumber(). Контракти з vesting або TWAP, які покладаються на block.number, можуть працювати несподівано.
Block timestamp — оновлюється з кожним Arbitrum-блоком (~250 мс), що швидше за Ethereum. Якщо ваш контракт використовує часові оракули, потрібні коригування.
Які precompiles потрібно знати?
Arbitrum додає специфічні precompile-адреси: 0x64 (ArbSys — отримання L1 block number, надсилання повідомлень), 0x6b (ArbGasInfo — gas pricing), 0x6c (ArbAggregator — інформація про поточний агрегатор). Використовуйте їх у коді для точної інформації. Офіційна документація Arbitrum детально описує ці інтерфейси.
Як деплоїти через Hardhat та Foundry?
Приклад конфігурації Hardhat для Arbitrum One:
// hardhat.config.ts networks: { arbitrum: { url: process.env.ARBITRUM_RPC_URL || 'https://arb1.arbitrum.io/rpc', accounts: [process.env.PRIVATE_KEY!], chainId: 42161, }, arbitrumSepolia: { url: 'https://sepolia-rollup.arbitrum.io/rpc', accounts: [process.env.PRIVATE_KEY!], chainId: 421614, }, } Деплой та верифікація через Foundry однією командою:
forge create --rpc-url $ARBITRUM_RPC_URL \ --private-key $PRIVATE_KEY \ --etherscan-api-key $ARBISCAN_API_KEY \ --verify \ src/MyContract.sol:MyContract \ --constructor-args arg1 arg2 Верифікація на Arbiscan — окремий API-ключ з arbiscan.io. Механізм той самий, що у Etherscan.
Порівняння фреймворків для деплою
| Параметр | Hardhat | Foundry |
|---|---|---|
| Мова скриптів | TypeScript/JavaScript | Solidity (natspec) |
| Швидкість компіляції | Середня | Висока (Rust) |
| Інтеграція форків | Hardhat network (вбудований) | Anvil (окремо) |
| Верифікація | Плагін @nomiclabs/hardhat-etherscan | Флаг --verify |
| Fuzzing | Не вбудовано | Вбудовано (forge fuzz) |
Верифікація контракту на Arbiscan
Після деплою обов'язково верифікуйте вихідний код. Це підвищує довіру користувачів і необхідне для взаємодії з деякими DApps. Ми включаємо верифікацію в базовий пакет послуг.
Обмеження та оптимізація розміру контракту
Ліміт контракту — 24 КБ, як на Ethereum. Газ на Arbitrum дешевший, але L1 calldata коштує грошей. Оптимізуйте calldata для часто викликаних функцій з великими аргументами (наприклад, стиснення даних або використання структур замість масивів).
| Параметр | Ethereum L1 | Arbitrum |
|---|---|---|
| Gas price (середній) | 20-50 Gwei | 0.1-0.5 Gwei (L2 gas) |
| Calldata cost | 16 gas/byte | 16 gas/byte L2 + L1 cost |
| Block time | ~12 с | ~0.25 с (L2) |
block.number |
L2 block | L1 block (через ArbSys - L2) |
Мости та робота з токенами
Canonical Arbitrum bridge для ETH та стандартних ERC-20. Для кастомних токенів — реєстрація через Arbitrum token bridge. Якщо ваш контракт керує мостом або працює з bridged токенами, враховуйте: WETH на Arbitrum — не та сама адреса, що на Ethereum. Ми перевіряємо сумісність.
Як проходить деплой з нашою командою?
- Аналіз сумісності контракту з Arbitrum (gas, block.number, precompiles).
- Деплой з верифікацією на Arbiscan (під ключ).
- Налаштування multisig ownership через Safe (опціонально).
- Розгортання proxy (UUPS/Transparent) та скрипти деплою.
- Документація по деплою та взаємодії.
- Тестова фаза на Arbitrum Sepolia.
Оцінимо ваш проєкт безкоштовно — зв'яжіться з нами для консультації.
Як ми гарантуємо якість?
Понад 5 років досвіду в блокчейн-розробці, 50+ успішних проєктів на Ethereum та L2, сертифіковані фахівці з Solidity. Використовуємо автоматизовані перевірки (Slither, Mythril) та формальну верифікацію ключових контрактів. Гарантуємо коректну роботу після деплою.
Типові помилки при деплої
- Використання
block.numberдля таймінгу без адаптації. - Ігнорування L1 calldata cost в газових оцінках.
- Неправильна адреса WETH при бриджингу.
- Пропуск верифікації на Arbiscan.
- Відсутність перевірки сумісності з custom token bridge.
Орієнтовні терміни
Деплой готового контракту з верифікацією — кілька годин. Повний цикл (аудит сумісності, налаштування multisig, deployment скрипти) — 1-2 дні. Вартість розраховується індивідуально під ваш проєкт.
Замовте деплой вашого контракту на Arbitrum — ми виконаємо роботу з гарантією якості.







