> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tenderly.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Предпросмотр транзакции

> Узнайте, как добавить опцию предпросмотра транзакции в ваш dapp или кошелёк с помощью Simulation API от Tenderly.

Узнайте, как добавить опцию предпросмотра транзакции в ваш dapp или кошелёк на основе [симуляций транзакций Tenderly](/simulations/single-simulations). Мы даём два практических примера, показывающих, как интегрировать симуляции в реальные кошельки:

* [MetaMask Snap с предпросмотром транзакции](/simulations/transaction-preview#metamask-snap-with-transaction-preview)
* [Rabby Wallet с предпросмотром транзакции](/simulations/transaction-preview#rabby-wallet-with-transaction-preview)

## Что такое предпросмотр транзакции?

Предпросмотр транзакции предлагает безопасное решение для тестирования dapp'ов и кошельков, позволяя пользователям предварительно просматривать результаты транзакций до их выполнения в живой сети. Это решение использует [Simulation API](/simulations/single-simulations#simulate-via-api) от Tenderly для сухого прогона транзакций в виртуальном окружении, имитирующем актуальное состояние блокчейна. Это гарантирует, что результаты симуляции реалистичны и максимально надёжны.

Вот пример проекта, демонстрирующий, как опция предпросмотра транзакции работает в Rabby Wallet.

<iframe src="https://youtube.com/embed/6Dqd_1EANfY" style={{ aspectRatio: 16 / 9, width: '100%' }} />

## Зачем пользователям кошельков нужны симуляции

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

Simulation API от Tenderly помогает достичь этих целей, позволяя вам:

* [Отображать изменения активов и балансов](/simulations/asset-balance-changes), включая взаимозаменяемые, невзаимозаменяемые и нативные токены, преобразованные в доллары на основе цен от CoinGecko.
* [Предоставлять точные оценки расхода газа](/simulations/gas-estimation) для выполнения транзакций и помогать пользователям экономить деньги.
* Сообщать пользователям, если их транзакция завершится сбоем, и помогать им сэкономить на газе.
* Помогать пользователям понимать, почему их транзакции не выполняются, с помощью ошибок в понятном формате.
* Предоставлять пользователям [список доступа](/node-rpc/rpc-reference?network=ethereum-mainnet\&method=eth_createAccessList) адресов и слотов хранилища, к которым будет обращаться транзакция.
* Получать генерируемые события, имена логов и связанные параметры в декодированном виде.
* Проверять рабочие процессы транзакций на DeFi-платформах с помощью [пакетных симуляций](/simulations/bundled-simulations) при выполнении и одобрении свопов, включающих несколько промежуточных шагов.

## Интеграция симуляций в кошелёк

Мы создали два проекта с открытым исходным кодом, чтобы показать процесс интеграции Simulation API от Tenderly в ваш dapp или кошелёк. Эти примеры демонстрируют, как добавить функцию предпросмотра транзакции в MetaMask Snap и Rabby Wallet.

Вы можете скачать исходный код обоих проектов на GitHub. Также обязательно ознакомьтесь со [справочником Simulation API](/api-reference) для получения руководства по выполнению запросов к API и получению результатов.

<Card title="MetaMask Snap с предпросмотром транзакции" href="" />

<Card title="Rabby Wallet с предпросмотром транзакции" href="" />

### MetaMask Snap с предпросмотром транзакции

Проект [MetaMask Snap](https://metamask.io/snaps/) показывает, как подключаться к Simulation API, отправлять данные транзакции, получать результаты симуляции и отображать их пользователю в UI MetaMask. Сюда входят изменения активов в долларах, изменения баланса нативных активов, выходное значение, изменения хранилища, логи событий и трейсы вызовов.

<iframe src="https://youtube.com/embed/DgfTifOM_V0" style={{ aspectRatio: 16 / 9, width: '100%' }} />

#### Пример трансфера ERC20

Вот пример успешного трансфера токена ERC20, где 1 USDC отправляется на demo.eth. На первом изображении показаны произошедшие изменения активов, за которыми следует разбивка деталей транзакции.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image%20(106).webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=93e6e1d3ee95e1199d47e80f36432c46" alt="" width="1280" height="1094" data-path="images/image (106).webp" />

#### Пример трансфера NFT

Ниже приведён пример трансфера токена ERC721 (NFT). Этот пример включает передачу 1 Crypto Bull на другой адрес. На первом скриншоте показаны изменения активов, а на изображении справа — детали транзакции.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/image%20(107).webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=667bfb482dc0111023f85e945fe23245" alt="" width="1280" height="1087" data-path="images/image (107).webp" />

Хотите попробовать эту интеграцию самостоятельно? Следуйте этому подробному руководству, где мы шаг за шагом показываем, как интегрировать Simulation API от Tenderly, обрабатывать данные транзакции, получать результаты симуляции через API и отображать их через UI MetaMask Snap.

<Card title="Руководство: как добавить предпросмотр транзакции в MetaMask Snap" href="" />

### Rabby Wallet с предпросмотром транзакции

Второй проект показывает, как интегрировать наш Simulation API в [Rabby Wallet](https://github.com/RabbyHub/Rabby) и дать пользователям возможность предварительно просматривать результаты транзакций в UI. Когда пользователь уверен, что транзакция будет вести себя как ожидалось, он может подписать её в UI.

<iframe src="https://youtube.com/embed/uLt9r4ATLy8" style={{ aspectRatio: 16 / 9, width: '100%' }} />

#### Пример свопа токенов ERC20 на Uniswap

На изображении ниже показан успешный своп ETH на 1INCH на Uniswap, отображающий как изменения активов, так и подробную разбивку транзакции для пользователя в UI Rabby Wallet.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/simulations/rabby-wallet-example-1.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=83faa365bb0d6b7c962cc83b77fbc79e" alt="" width="1065" height="992" data-path="images/simulations/rabby-wallet-example-1.webp" />

#### Пример покупки NFT на Joepegs

Вот пример успешной покупки NFT с изменениями активов и сводкой результатов симуляции.

<img src="https://mintcdn.com/tenderly/XsEZlaGXYskrtN68/images/simulations/rabby-wallet-example-2.webp?fit=max&auto=format&n=XsEZlaGXYskrtN68&q=85&s=346155bfa93514a5a089edbca39ea733" alt="" width="1065" height="1265" data-path="images/simulations/rabby-wallet-example-2.webp" />

Хотите попробовать интегрировать симуляции в Rabby Wallet? Следуйте этому пошаговому руководству.

<Card title="Руководство: как добавить предпросмотр транзакции в Rabby Wallet" href="" />
