Тестирование dApp: локальная сеть и тест-сети
Тестировать dApp на mainnet — дорого и опасно. Локальные сети и тест-сети дают бесплатную песочницу.
Локальная сеть (Hardhat/Anvil) — блокчейн на вашем компьютере: мгновенный, бесплатный, с заранее богатыми аккаунтами. Тест-сеть (Sepolia) — публичный полигон с бесплатными тестовыми монетами.
Каждая транзакция в mainnet стоит реальные деньги, а ошибка необратима. Поэтому разработку и тесты dApp ведут в безопасных средах. Их две: локальная (для разработки) и тестовая (для предрелизной проверки в условиях «как в проде»).
Локальная сеть: Hardhat и Anvil
- Hardhat node и Anvil (из Foundry) поднимают локальный EVM-узел, обычно на
http://127.0.0.1:8545, chainId 31337. - Дают 10–20 готовых аккаунтов с тестовым балансом — не нужно ничего «намайнивать».
- Транзакции мгновенны: блок печатается сразу. Идеально для быстрой разработки фронта.
- Можно форкнуть mainnet — поднять локальную копию реального состояния сети, чтобы тестировать против настоящих контрактов (например, Uniswap) без риска.
Фронт подключают к локальной сети, добавив её в MetaMask как кастомную сеть (RPC 127.0.0.1:8545) и импортировав один из тестовых приватных ключей.
Тест-сети: Sepolia
Тест-сеть — это настоящий публичный блокчейн, но «игрушечный»: монеты в нём ничего не стоят и раздаются краном (faucet). Sepolia — основная тестовая сеть Ethereum. Зачем она, если есть локальная:
- Условия ближе к проду: реальные задержки блоков, публичные эксплореры, настоящий WalletConnect.
- Можно дать ссылку тестировщикам и пользователям бета-теста — у каждого свой кошелёк.
- Проверка интеграций (Infura/Alchemy, The Graph), которые на локальной сети не поднять.
Где какая среда
| Этап | Среда |
| Разработка фронта, быстрые итерации | Локальная (Hardhat/Anvil) |
| Тесты с настоящими контрактами | Форк mainnet локально |
| Предрелизная проверка, бета | Тест-сеть (Sepolia) |
| Релиз | Mainnet / L2 |
Как работает под капотом
Локальный узел — это та же EVM, что и в mainnet, но без сети других узлов и без реальной ценности. Он «майнит» блок по запросу (instant mining) или по интервалу. Форк mainnet работает хитро: узел при запросе несуществующего локально состояния подтягивает его с реального RPC и кэширует — так вы видите реальное состояние сети, но любые ваши транзакции остаются только локально. Для фронта все эти сети неотличимы по API: тот же ethers/wagmi, отличается лишь RPC-URL и chainId.
Частые ошибки
- Тестировать сразу в mainnet. Дорого и необратимо; начинайте с локальной сети.
- Хардкодить адреса локальной сети в прод. После передеплоя адреса меняются; держите конфиг по сети.
- Забыть про реальные задержки. На локальной сети блок мгновенный; в проде есть pending — проверяйте UX в тест-сети.
Итоги
- Локальная сеть (Hardhat/Anvil) — быстрая бесплатная песочница для разработки.
- Форк mainnet даёт тесты против настоящих контрактов без риска.
- Тест-сеть (Sepolia) — условия, близкие к проду, для беты; в mainnet — только релиз.