Деплойментт смарт-контрактів в Arbitrum
Arbitrum — це Optimistic Rollup L2, сумісна з EVM на рівні байткоду. Переважна більшість Ethereum-контрактів деплоюються без змін. Але є нюанси, які спалюють в production: різниці в gas механіці, специфіка ArbOS, особливості фіналізації та бриджингу.
Чим Arbitrum відрізняється від Ethereum
Gas модель: Arbitrum використовує двокомпонентний gas. L2 execution gas — аналог Ethereum gas, стоїть дешево. L1 calldata cost — вартість публікації даних транзакції в Ethereum, автоматично додається до кожної транзакції. tx.gasprice на Arbitrum — не те саме, що на Ethereum; використовуйте ArbGasInfo precompile для точного розрахунку.
Block numbers: block.number на Arbitrum повертає L1 Ethereum block number (оновлюється ~раз у 12 секунд), а не Arbitrum block. Для Arbitrum-native номера блока — ArbSys(0x64).arbBlockNumber(). Контракти, що використовують block.number для timing (vesting, TWAP), можуть працювати неочікувано.
Block timestamp: block.timestamp відповідає реальному часу, оновлюється з кожним Arbitrum-блоком (~250ms). Це швидше, ніж Ethereum — може впливати на TWAP-оракули.
Precompiles: специфічні для Arbitrum адреси 0x64 (ArbSys), 0x6b (ArbGasInfo), 0x6c (ArbAggregator). Корисні для отримання L1 block number, gas pricing info.
Деплойментт через Hardhat/Foundry
// 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: той же механізм, що Etherscan, окремий API ключ з arbiscan.io.
Розмір контракту та оптимізації
Ліміт 24KB зберігається. На Arbitrum газ дешевше, але calldata все ще стоїть грошей (L1 cost). Оптимізація calldata актуальна для часто вивільюваних функцій з великими аргументами.
Мости та токени
Canonical Arbitrum bridge для ETH та стандартних ERC-20. Для кастомних токенів — Arbitrum token bridge з реєстрацією. Якщо контракт управляє бриджем або працює з bridged токенами: враховувати, що WETH на Arbitrum — не той же адрес, що на Ethereum.
Орієнтири по термінам
Деплойментт готового контракту + верифікація: кілька годин. З аудитом сумісності, налаштуванням multisig ownership через Safe, деплойментом proxy (UUPS/Transparent) та скриптами деплойменту: 1-2 дні.







