Тестирование смарт-контрактов на тестнете

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1 услугВсе 1306 услуг
Тестирование смарт-контрактов на тестнете
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Направления блокчейн-разработки
Этапы блокчейн-разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1258
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1170
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    873
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1092
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    563
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    830

Тестирование смарт-контрактов на тестнете

Локальные тесты на Foundry anvil или Hardhat node проходят — и команда считает контракт готовым к mainnet. Но тестнет регулярно выявляет то, что локальная среда пропускает: корректность ABI при взаимодействии через реальный кошелёк, поведение сторонних оракулов и протоколов, задержки транзакций, edge cases с gas estimation.

Выбор тестовой сети

Для Ethereum-совместимых сетей актуальные тестнеты в 2024-2025:

Тестнет Чейн Особенности
Sepolia Ethereum L1 Основной ETH тестнет, PoS консенсус
Holesky Ethereum L1 Больший validator set, лучше для staking
Amoy Polygon Заменил Mumbai
Arbitrum Sepolia Arbitrum L2 ArbOS, L1→L2 messaging
Optimism Sepolia Optimism L2 OP Stack, fault proofs
Base Sepolia Base L2 OP Stack, Coinbase
BSC Testnet BNB Chain Параллельно с mainnet

Goerli выведен из эксплуатации. Не деплоить туда ничего нового.

Что проверяем на тестнете

Верификация через Etherscan. Деплой без верификации — красный флаг для пользователей и аудиторов. Используем forge verify-contract или hardhat verify. Важно: compiler version и optimization settings в конфиге должны точно совпадать с теми, что были при деплое. Расхождение в одну настройку — не верифицируется.

Взаимодействие через Metamask/Safe. Сигнатуры функций, читаемые названия параметров в Etherscan UI, корректные события в Transaction logs. Проверяем, что ABI published и frontend корректно декодирует ответы.

Gas estimation. Реальный газ на тестнете vs локальный. Foundry gas_price в anvil по умолчанию 1 wei — на тестнете базовая комиссия плавающая. Тест с vm.txGasPrice() не всегда отражает реальность.

Интеграция с протоколами. Если контракт использует Chainlink Price Feeds, Uniswap, Aave — на тестнете деплоим их адреса или используем официальные тестнет-деплои. Chainlink предоставляет Price Feeds на Sepolia. Uniswap V3 задеплоен на Sepolia. Aave V3 — на Sepolia.

Процесс тестирования

Фаза тестнет-тестирования начинается после прохождения unit и fuzz тестов в Foundry. Скрипт деплоя (forge script) запускаем с --rpc-url sepolia --broadcast. После деплоя проверяем:

  1. Конструктор инициализировал переменные корректно (читаем через cast call)
  2. Ограничения доступа работают (попытка вызова owner-функций с чужого адреса)
  3. Happy path основных функций
  4. Граничные случаи: нулевые суммы, максимальные значения uint256
  5. События эмитируются и декодируются корректно

Для контрактов с upgradeability — тестируем полный цикл upgrade на тестнете перед mainnet.

Скрипты деплоя и cast

cast из пакета Foundry — основной инструмент для ручного взаимодействия:

# Прочитать переменную
cast call $CONTRACT "owner()" --rpc-url sepolia

# Отправить транзакцию
cast send $CONTRACT "setLimit(uint256)" 1000000 \
  --rpc-url sepolia --private-key $PRIVATE_KEY

# Декодировать calldata транзакции
cast 4byte-decode 0xa9059cbb...

Для сложных сценариев — написать Forge Script с vm.broadcast() вместо последовательных cast вызовов.

Сроки

Типовое тестнет-тестирование нового контракта среднего размера: 1-3 дня. Сюда входит деплой, верификация, ручное тестирование сценариев и исправление найденных issues. Для контрактов с множеством интеграций — до недели.

Стоимость рассчитывается в зависимости от сложности контракта и количества тестируемых сценариев.