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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Деплой смарт-контрактів у Base
Простий
від 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

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

Base — це L2 від Coinbase на стеку OP Stack. Повна EVM-сумісність: той же Solidity, той же ABI, ті ж інструменти. Деплойментт контракту з Ethereum на Base — це зміна --network флага та RPC URL. Але є нюанси з верифікацією, gas estimation та bridge для тестування.

Конфігурація Hardhat

// hardhat.config.ts
import { HardhatUserConfig } from 'hardhat/config'
import '@nomicfoundation/hardhat-toolbox'
import '@nomicfoundation/hardhat-verify'

const config: HardhatUserConfig = {
  solidity: {
    version: '0.8.24',
    settings: { optimizer: { enabled: true, runs: 200 } }
  },
  networks: {
    base: {
      url: 'https://mainnet.base.org',
      accounts: [process.env.DEPLOYER_PRIVATE_KEY!],
      chainId: 8453,
    },
    'base-sepolia': {
      url: 'https://sepolia.base.org',
      accounts: [process.env.DEPLOYER_PRIVATE_KEY!],
      chainId: 84532,
    },
  },
  etherscan: {
    apiKey: {
      base: process.env.BASESCAN_API_KEY!,
      'base-sepolia': process.env.BASESCAN_API_KEY!,
    },
    customChains: [
      {
        network: 'base',
        chainId: 8453,
        urls: {
          apiURL: 'https://api.basescan.org/api',
          browserURL: 'https://basescan.org',
        },
      },
      {
        network: 'base-sepolia',
        chainId: 84532,
        urls: {
          apiURL: 'https://api-sepolia.basescan.org/api',
          browserURL: 'https://sepolia.basescan.org',
        },
      },
    ],
  },
}
export default config

Деплойментт та верифікація

# Деплойментт на Base Sepolia (testnet)
npx hardhat run scripts/deploy.ts --network base-sepolia

# Верифікація вихідного коду
npx hardhat verify --network base-sepolia <CONTRACT_ADDRESS> <constructor_arg1> <constructor_arg2>

Для контрактів з constructor arguments у форматі ABI encoded — файл з arguments:

npx hardhat verify --network base --constructor-args scripts/args.ts <CONTRACT_ADDRESS>

Foundry варіант

forge create --rpc-url https://mainnet.base.org \
  --private-key $DEPLOYER_PRIVATE_KEY \
  --etherscan-api-key $BASESCAN_API_KEY \
  --verify \
  src/MyContract.sol:MyContract \
  --constructor-args <arg1> <arg2>

--verify верифікує одразу після деплойменту. Foundry швидше Hardhat для простих деплойментів.

Gas на Base

Base газ оплачується в ETH. Gas price зазвичай 0.001-0.01 gwei — на порядки дешевше за mainnet. Типічні вартості:

Операція Gas Приблизна вартість (при ETH $3000)
Деплойментт простого контракту ~500k gas ~$0.01-0.05
ERC-20 transfer 21k-65k gas < $0.001
Uniswap V3 swap ~180k gas ~$0.003

Для отримання тестового ETH на Base Sepolia — Coinbase faucet (coinbase.com/faucets) або бридж з Ethereum Sepolia через Base bridge.

Детермінований деплойментт з CREATE2

Якщо потрібна однакова адреса контракту на Base та інших мережах — CREATE2 через deterministic deployer:

// Використовуємо стандартний Nick's factory (0x4e59b44847b379578588920cA78FbF26c0B4956C)
bytes32 salt = keccak256("my-project-v1");
cast create2 --starts-with 0x1234 --init-code-hash <hash>
# Знайде сіль для vanity адреси, що починається з 0x1234

Адреса контракту на Base, Optimism, Arbitrum та Ethereum буде ідентична при однаковому bytecode та salt.