AI Shift
DeFi

Tenderly: симуляция DeFi транзакций — полная инструкция

Сергей Зиненко5 мин чтения

Пошаговая инструкция по использованию Tenderly для симуляции и дебага DeFi транзакций. Избегай ошибок и экономь на газе. Читай сейчас!


TL;DR

Пошаговая инструкция по использованию Tenderly для симуляции и дебага DeFi транзакций. Избегай ошибок и экономь на газе. Читай сейчас!

Основной разбор

Как использовать Tenderly для симуляции DeFi транзакций

Потерял $500 на неудачном свапе в DeFi? Или напоролся на фейловую транзакцию, которая сожрала $20 газа впустую? Tenderly решает эту проблему — позволяет протестировать любую транзакцию перед отправкой в сеть. После прочтения инструкции ты сможешь симулировать свапы, стейкинг, фарминг и любые DeFi операции без риска потерь. Плюс научишься дебажить упавшие транзакции и понимать, почему они провалились.

Что понадобится- Аккаунт на tenderly.co (бесплатный план подходит)- Адрес кошелька или контракта для симуляции- Базовое понимание Ethereum транзакций- RPC endpoint (встроенный или собственный)## Пошаговая инструкция### Шаг 1: Регистрация и настройка проектаПереходи на tenderly.co и регистрируй аккаунт. Бесплатный план даёт 50 симуляций в месяц — хватает для личного использования.

После регистрации создай новый проект. Выбери сеть — для большинства DeFi операций нужен Ethereum Mainnet. Можешь добавить несколько сетей сразу, если работаешь с L2. [СКРИНШОТ: дашборд Tenderly с созданным проектом и выбранной сетью Ethereum]

Шаг 2: Настройка SimulatorВ левом меню выбери "Simulator". Здесь три режима:

  • Transaction Simulation — для тестирования новой транзакции- Bundle Simulation — для группы транзакций- Debug Transaction — для анализа уже выполненной транзакцииДля первого раза выбирай Transaction Simulation. Укажи Network (Ethereum Mainnet) и последний блок для симуляции. [СКРИНШОТ: интерфейс Simulator с выбранным режимом Transaction Simulation]

Шаг 3: Заполнение параметров транзакцииЗаполни основные поля:

  • From — адрес отправителя (твой кошелек)- To — адрес контракта (например, Uniswap Router)- Value — количество ETH (если отправляешь ETH)- Gas Limit — лимит газа (начни с 300,000)- Gas Price — цена газа в gwei (проверь на ethgasstation.info)Для DeFi операций главное — правильно заполнить поле Input Data. Это закодированный вызов функции контракта. [СКРИНШОТ: форма заполнения параметров транзакции с примером свапа на Uniswap]

Шаг 4: Получение Input Data для DeFi операцийСамый простой способ — использовать интерфейс протокола:

**Для Uniswap:**1. Иди на app.uniswap.org2. Настрой свап, но НЕ подтверждай3. Открой DevTools (F12) → Network4. Нажми "Swap" и найди запрос к eth_sendTransaction5. Скопируй значение data **Для других протоколов:**Тот же принцип — готовишь транзакцию в интерфейсе, перехватываешь data через DevTools. [СКРИНШОТ: DevTools с выделенным полем data в запросе eth_sendTransaction]

Шаг 5: Запуск симуляцииНажми "Simulate Transaction". Tenderly покажет результат за 2-3 секунды:

  • Success/Revert — прошла ли транзакция- Gas Used — фактический расход газа- State Changes — изменения балансов и контрактов- Logs — события, которые сгенерировала транзакцияЕсли симуляция показывает Revert — транзакция упадёт. Смотри раздел "Revert Reason" для понимания проблемы. [СКРИНШОТ: результат успешной симуляции с выделенными секциями Gas Used и State Changes]

Шаг 6: Анализ результатовВ разделе "State Changes" видно, как изменятся твои балансы. Например, для свапа 1 ETH на USDC:

  • Баланс ETH уменьшился на ~1.003 (включая газ)- Баланс USDC увеличился на ~2,890 (курс на момент симуляции)Раздел "Traces" показывает полную цепочку вызовов. Полезно для понимания сложных DeFi операций с несколькими протоколами. [СКРИНШОТ: детализация State Changes с изменением балансов ETH и USDC]

Шаг 7: Дебаг упавших транзакцийЕсли симуляция показывает Revert, переходи в раздел "Debug". Типичные ошибки:

  • "Transfer amount exceeds balance" — недостаточно токенов- "UniswapV2: INSUFFICIENT_OUTPUT_AMOUNT" — слишком высокий slippage- "ERC20: transfer amount exceeds allowance" — не дал approveДля каждой ошибки Tenderly показывает точную строку кода в контракте, где произошёл revert. [СКРИНШОТ: интерфейс Debug с выделенным Revert Reason и строкой кода]

Частые ошибки и как их избежатьНеправильный Gas LimitСтавишь 21,000 для сложной DeFi операции — транзакция упадёт из-за "out of gas". Начинай с 300,000-500,000 для DeFi. Tenderly покажет фактический расход.

Устаревший Input DataКопируешь data из старого запроса — может не сработать из-за изменившихся цен. Всегда генерируй свежий data перед симуляцией. Игнорирование AllowanceЗабываешь про approve для ERC20 токенов. Если симулируешь свап USDC на ETH — сначала смоделируй approve для USDC, потом сам свап. Неучёт SlippageСимулируешь на текущих ценах, а к моменту отправки цена изменилась. Добавляй 1-3% slippage для спокойствия.

РезультатПосле симуляции ты точно знаешь:

  • Пройдёт ли транзакция или упадёт- Сколько газа потратится (ставь Gas Limit на 20% выше)- Какие токены и сколько получишь в итоге- Все промежуточные шаги сложных DeFi операцийTenderly экономит деньги на газе и нервы на упавших транзакциях. Особенно полезно при работе с новыми протоколами или сложными стратегиями типа leverage farming. Для продвинутого использования изучи Tenderly Forks — позволяют создавать локальные копии блокчейна для тестирования целых стратегий. Но для большинства задач хватает обычных симуляций.

Чеклист действий

  1. Пройдите раздел «Что понадобится- Аккаунт на tenderly.co (бесплатный план подходит)- Адрес кошелька или контракта для симуляции- Базовое понимание Ethereum транзакций- RPC endpoint (встроенный или собственный)## Пошаговая инструкция### Шаг 1: Регистрация и настройка проектаПереходи на tenderly.co и регистрируй аккаунт. Бесплатный план даёт 50 симуляций в месяц — хватает для личного использования.» и выпишите практические шаги.
  2. Пройдите раздел «Частые ошибки и как их избежатьНеправильный Gas LimitСтавишь 21,000 для сложной DeFi операции — транзакция упадёт из-за "out of gas". Начинай с 300,000-500,000 для DeFi. Tenderly покажет фактический расход.» и выпишите практические шаги.
  3. Проверьте риски и ограничения сервиса перед действиями.
  4. Сделайте тестовый запуск на небольшой сумме.

FAQ

Сколько стоит использование Tenderly для симуляций?

Бесплатный план даёт 50 симуляций в месяц. Для личного использования этого достаточно. Платные планы начинаются от $25/месяц с неограниченными симуляциями.

Можно ли симулировать транзакции на L2 сетях?

Да, Tenderly поддерживает Arbitrum, Optimism, Polygon и другие L2. Выбери нужную сеть при создании проекта. Стоимость газа в симуляции будет соответствовать выбранной сети.

Почему симуляция прошла, а реальная транзакция упала?

Основные причины: изменились цены токенов (добавь slippage), кто-то выполнил похожую транзакцию раньше (MEV), или закончились токены в пуле. Симулируй на последнем блоке перед отправкой.

Как получить Input Data для симуляции сложных DeFi операций?

Используй интерфейс протокола: настрой операцию, открой DevTools → Network, начни выполнение и скопируй поле 'data' из запроса eth_sendTransaction. Для скриптов можешь использовать ethers.js или web3.py.

Источники

В статье пока нет внешних источников. Список будет дополняться при обновлениях.

Читайте также

СЗ

Сергей Зиненко

Эксперт по AI-автоматизации и DeFi. Пишу практические разборы, чтобы упростить вход в сложные темы и помочь действовать без лишнего шума.