Мы деплоим смарт-контракты на 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 подробно описывает эти интерфейсы (Arbitrum Developer Docs).
Как деплоить через 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 — мы выполним работу с гарантией качества.







