Деплой смарт-контрактів у Cronos

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Деплой смарт-контрактів у Cronos
Простий
від 4 годин до 2 днів
Часті запитання

Напрямки блокчейн-розробки

Етапи блокчейн-розробки

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1217
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    919
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1146
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    609
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    884

Розгортання смарт-контрактів у Cronos

Cronos — це EVM-сумісний блокчейн від Crypto.com, побудований на базі Cosmos SDK з механізмом консенсусу Proof of Authority (переходить на PoS). З точки зору розгортання контрактів — це стандартна EVM-мережа, але є нюанси з нативним токеном (CRO), RPC-точками входу та верифікацією.

Параметри мережі

Параметр Mainnet Testnet
Chain ID 25 338
RPC https://evm.cronos.org https://evm-t3.cronos.org
Оглядач cronoscan.com testnet.cronoscan.com
Нативний токен CRO TCRO
Час блоку ~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 використовує високі значення
    },
    "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 використовує нестандартно високі числові значення для gas price. Типові значення 5000+ gwei у Wei — це нормально, не варто хвилюватися. Фактична вартість транзакції в USD низька через ціну CRO.

Отримання тестових токенів

Для Cronos Testnet (chainId 338) тестовий TCRO отримують через офіційний кран: https://cronos.org/faucet. Обмеження — один запит на день на адресу.

Розгортання та верифікація

# Розгортання через Hardhat
npx hardhat run scripts/deploy.ts --network cronos

# Верифікація
npx hardhat verify --network cronos DEPLOYED_ADDRESS "Constructor Arg"
# Конфігурація 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" }
forge create src/MyContract.sol:MyContract \
  --rpc-url cronos \
  --private-key $DEPLOYER_PRIVATE_KEY \
  --verify \
  --etherscan-api-key $CRONOSCAN_API_KEY

Особливості Cronos

CRO як нативний токен — у EVM контрактах CRO поводиться як ETH. msg.value, address.transfer(), payable функції працюють стандартно. Wrapped CRO (WCRO) аналогічний WETH.

Інтеграція з Cosmos IBC — Cronos може отримувати активи з екосистеми Cosmos через IBC. Якщо контракт працює з мостованими активами Cosmos, враховуйте, що адреси можуть бути у форматі Bech32 на рівні Cosmos, але у EVM шарі це стандартні адреси 0x.

Фіналізація — блоки фіналізуються швидко (~5-6 секунд). Для більшості dApps достатньо 1-2 підтвердження.

Сумісність — повна EVM еквівалентність. Контракти OpenZeppelin, форки Uniswap v2/v3, ціндерфіди Chainlink (доступні на Cronos mainnet) — всё працює без змін.

Типові проблеми при розгортанні

Проблеми з nonce — якщо попередня транзакція застрягла, наступне розгортання падає з помилкою nonce. Рішення: надіслати порожню транзакцію з тим же nonce та підвищеною газовою ціною для заміни.

Нестабільність RPC — публічний RPC evm.cronos.org іноді працює з затримками. Для production використовуйте платні вузли від Alchemy (підтримка Cronos доступна) або Ankr.

Ліміт розміру контракту — лімітація 24KB як на Ethereum. При перевищенні використовуйте паттерн Diamond (EIP-2535) або розділіть на кілька контрактів.