Розгортання контрактів у мережі Cronos
Ви написали смарт-контракт на Solidity, протестували на Goerli, але при деплої на Cronos mainnet транзакція зависла на півгодини через невірний nonce, а потім контракт не верифікувався — сканер не підтримував JSON-інтерфейс. Такі помилки ми бачимо регулярно, тому зібрали перевірену конфігурацію, що виключає ці сценарії.
Наш досвід — 5+ років в EVM-розробці, 30+ проєктів на різних блокчейнах. Працюємо під ключ: від аудиту вимог до передачі документації та приватних ключів. Гарантуємо коректну верифікацію та оптимізацію газу. Якщо сумніваєтесь у налаштуваннях — отримайте консультацію, проведемо аудит вашої конфігурації за 2 дні.
Cronos — блокчейн від Crypto.com на базі Cosmos SDK з консенсусом PoA (переходить до PoS). EVM-сумісність майже повна, але є нюанси: нативний токен CRO, високі gasPrice (5000+ gwei) та власна інстанція Etherscan для верифікації. Детальніше в документації Cronos. Згідно з офіційними специфікаціями, finality блоків становить 5-6 секунд, що достатньо для більшості dApp.
Вартість газу на Cronos в десятки разів нижча, ніж на Ethereum, що дозволяє суттєво економити на транзакціях. Економія при деплої складного контракту може сягати 90% порівняно з Ethereum.
Як налаштувати Hardhat для деплою в Cronos?
Мережеві параметри
| Параметр | Mainnet | Testnet |
|---|---|---|
| Chain ID | 25 | 338 |
| RPC | https://evm.cronos.org |
https://evm-t3.cronos.org |
| Explorer | cronoscan.com | testnet.cronoscan.com |
| Native token | CRO | TCRO |
| Block time | ~5.6 секунд | ~5.6 секунд |
Конфігурація Hardhat
// hardhat.config.ts import { HardhatUserConfig } from "hardhat/config"; import "@nomicfoundation/hardhat-toolbox"; import "@nomicfoundation/hardhat-verify"; const config: HardhatUserConfig = { solidity: { version: "0.8.20", settings: { optimizer: { enabled: true, runs: 200 }, }, }, networks: { cronos: { url: process.env.CRONOS_RPC ?? "https://evm.cronos.org", chainId: 25, accounts: [process.env.DEPLOYER_PRIVATE_KEY!], gasPrice: 5000000000000, // 5000 gwei }, "cronos-testnet": { url: "https://evm-t3.cronos.org", chainId: 338, accounts: [process.env.DEPLOYER_PRIVATE_KEY!], }, }, etherscan: { apiKey: { cronos: process.env.CRONOSCAN_API_KEY!, }, customChains: [ { network: "cronos", chainId: 25, urls: { apiURL: "https://api.cronoscan.com/api", browserURL: "https://cronoscan.com", }, }, ], }, }; Зверніть увагу на gasPrice: Cronos використовує нестандартно високі числові значення — 5000 gwei в Wei це нормально. Фактична вартість транзакції в USD низька через ціну CRO.
Отримання тестових токенів
Для Cronos Testnet (chainId 338) тестові TCRO отримуєте через офіційний кран: https://cronos.org/faucet. Обмеження — один запит на добу на адресу.
Як виконати деплой та верифікацію?
- Налаштуйте конфігурацію Hardhat або Foundry, вказавши параметри мережі та API-ключ Cronoscan.
- Отримайте тестові токени з крану для testnet.
- Розгорніть контракт командою
npx hardhat run scripts/deploy.ts --network cronosабоforge create. - Верифікуйте контракт: для Hardhat —
npx hardhat verify --network cronos DEPLOYED_ADDRESS "Constructor Arg", для Foundry — з флагом--verify.
# Hardhat npx hardhat run scripts/deploy.ts --network cronos npx hardhat verify --network cronos DEPLOYED_ADDRESS "Constructor Arg" # Foundry forge create src/MyContract.sol:MyContract \ --rpc-url cronos \ --private-key $DEPLOYER_PRIVATE_KEY \ --verify \ --etherscan-api-key $CRONOSCAN_API_KEY Foundry конфігурація (детально)
# foundry.toml [profile.default] solc_version = "0.8.20" [rpc_endpoints] cronos = "${CRONOS_RPC}" cronos_testnet = "https://evm-t3.cronos.org" [etherscan] cronos = { key = "${CRONOSCAN_API_KEY}", url = "https://api.cronoscan.com/api" } Які проблеми вирішує перевірена конфігурація?
Nonce issues
Якщо попередня транзакція зависла, наступний деплой падає з помилкою nonce. Рішення: відправити порожню транзакцію з тим самим nonce та підвищеним gas price для заміни. Стандартна практика для всіх EVM-мереж, але на Cronos через високий gas price потрібно точно розрахувати bump.
RPC нестабільність
Публічний RPC evm.cronos.org іноді лагає. Для production використовуйте платні ноди від Alchemy (підтримує Cronos) або Ankr. Ми в проєктах ставимо кілька RPC в url та реалізуємо fallback — це знижує ймовірність збою.
Contract size limit
Ліміт на розмір контракту — 24KB, як на Ethereum. При перевищенні застосовуйте паттерн Diamond (EIP-2535) або розбивайте логіку на кілька контрактів.
Порівняння Hardhat і Foundry: що вибрати для деплою в Cronos?
| Критерій | Hardhat | Foundry |
|---|---|---|
| Швидкість деплою | Середня (TypeScript компіляція) | Висока (компіляція на Rust) |
| Верифікація | Плагін hardhat-verify | Вбудована через --verify |
| Гнучкість налаштування | Широкі можливості (плагіни) | Менша екосистема |
| Підтримка форків | Є (hardhat node) | Є (anvil) |
Foundry перевершує Hardhat за швидкістю в 2-3 рази, що особливо помітно при частих деплоях. Однак Hardhat залишається більш гнучким завдяки плагінам.
Оцінка вартості газу
| Операція | Газ (приблизно) | Коментар |
|---|---|---|
| Простий переказ CRO | 21,000 | Стандартний EVM |
| Деплой ERC-20 контракту | ~1,200,000 | Залежить від оптимізації |
| Деплой складного контракту зі сховищем | ~3,500,000 | SLOAD/SSTORE |
| Виклик функції запису | ~50,000 | Звичайний виклик |
Завдяки низькій ціні CRO витрати на газ для деплою значно нижчі, ніж на Ethereum. Вартість наших послуг розраховується індивідуально.
Які особливості Cronos потрібно враховувати?
- CRO як native token — в EVM контрактах CRO поводиться як ETH.
msg.valueтаpayableпрацюють стандартно. Wrapped CRO (WCRO) аналогічний WETH. - Cosmos IBC інтеграція — через Cosmos SDK можна приймати активи з Cosmos екосистеми. Адреси можуть бути в Bech32 на рівні Cosmos, але в EVM-шарі це стандартні 0x-адреси.
- Finality — блоки фіналізуються за ~5-6 секунд. Для більшості dApp достатньо 1-2 підтверджень.
- Сумісність — OpenZeppelin контракти, Uniswap v2/v3 форки, Chainlink Price Feeds (є на mainnet) — все працює без змін.
Що входить у роботу?
При замовленні деплою смарт-контрактів у Cronos ви отримуєте:
- Аналіз та аудит контракту (security check)
- Налаштування скриптів деплою для Hardhat або Foundry
- Конфігурацію верифікації на Cronoscan
- Навантажувальне тестування на testnet
- Передачу документації, приватних ключів та доступів до RPC
- Підтримку протягом 2 тижнів після деплою
Типові помилки та їх рішення
На практиці найчастіше зустрічаються nonce error — він усувається заміною завислої транзакції з підвищеним gas price; проблеми верифікації — перевірте apiURL в конфігурації; помилка out of gas — для складних контрактів збільшуйте ліміт газу до 20-50 мільйонів. Якщо зіткнулися з цими або іншими проблемами — зв'яжіться з нами, ми допоможемо розібратися та доб'ємося успішного деплою за 1-2 дні. Замовте деплой під ключ або отримайте консультацію з налаштування.







