|
| 1 | +# Tools |
| 2 | + |
| 3 | +🛠️В этом разделе мы сделаем обзор на инструменты, которые помогают понимать блокчейн и взаимодействовать со смарт-контрактами. Если ты планируешь разрабатывать смарт-контракты, то тебе будет необходимо знать и использовать эти инструменты. |
| 4 | + |
| 5 | +## Etherscan |
| 6 | + |
| 7 | +_Опр!_ [Etherscan](https://etherscan.io/) - это ведущая платформа для исследования блокчейна, поиска, API и аналитики в сети Ethereum. Еще его называют обозреватель блоков. Платформа обеспечивает равноправный доступ к данным блокчейна. |
| 8 | + |
| 9 | +_Важно!_ Etherscan выполняет множество функций кошелька, но никогда не хранит приватные ключи аккаунтов и не контролирует транзакции в блокчейне. |
| 10 | + |
| 11 | +### Как он работает? |
| 12 | + |
| 13 | +Etherscan работает, как поисковая система, индексируя все транзакции в блокчейне Ethereum. Когда ты вводишь адрес аккаунта или контракта в поле поиска, он показывает все транзакции этого адреса. Для этого даже не нужно создавать аккаунт на etherscan. |
| 14 | + |
| 15 | +Результат поиска по адресу можно посмотреть на скриншоте. В красную рамку выделены адрес контракта, баланс, токен трекер, список вкладок для аналитики. Аналитика включает в себя вкладки: обозреватель транзакций на этом адресе, взаимодействие с контрактом и тому подобное. |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +Если смарт-контракт был верифицирован, то есть автор предоставил интерфейс, который описывает смарт-контракт, то в этом случае можно прям на платформе посмотреть код контракта. |
| 20 | + |
| 21 | + |
| 22 | + |
| 23 | +Или даже можно взаимодействовать с контрактом. В разных вкладках функции на чтение и запись. |
| 24 | + |
| 25 | + |
| 26 | + |
| 27 | +Для сети Sepolia(это тестовая сеть Ethereum) тоже есть свой [обозреватель блоков](https://sepolia.etherscan.io/). |
| 28 | + |
| 29 | +_Важно!_ Обычной практикой является создание своего отдельного обозревателя блоков для каждого блокчейна. Например: |
| 30 | +- для Tron => [TronScan](https://tronscan.org/#/) |
| 31 | +- для Polygon => [PolygonScan](https://polygonscan.com/) |
| 32 | +- для BNB Smart Chain => [BscScan](https://bscscan.com/) |
| 33 | +- и т.д. |
| 34 | + |
| 35 | +Обозреватели блоков являются базовым необходимым инструментом дял отслеживания транзакций в сети. Они полностью бесплатны и в большинстве простых случаев его функционала достаточно. |
| 36 | + |
| 37 | +## Tenderly |
| 38 | + |
| 39 | +_Опр!_ [Tenderly](https://docs.tenderly.co/) - это универсальная Web3 платформа разработки, которая включает в себя инструменты отладки, тестирования и разработки смарт-контрактов. Предоставляет кучу инструментов из коробки. Инструмент можно использовать в режиме дашбордов для сбора аналитических данных по задеплоенным контрактам. |
| 40 | + |
| 41 | +Рабочее пространство организовано через сущность **проекты**. Для проектов можно настраивать доступ от имени организации. Также можно создать даже отдельные версии проектов. |
| 42 | + |
| 43 | +Продукт включает следующие инструменты: |
| 44 | +- **Tenderly Explorer** (функционал аналогичный etherscan). Просмотр транзакций.Авторизация не обязательна. |
| 45 | +- **Песочница**. Позволяет писать код смарт-контрактов и `javascript` скрипты для быстрого прототипирования или обучения написанию смарт-контрактов. Код смарт-контракта будет компилироваться и выполняться прямо в браузере. |
| 46 | +- **Web3 Gateway**. Надежное решение в доступе к блокчейну с мгновенной синхронизацией данных. Можно анализировать и исторические данные. |
| 47 | +- **Contract verification**. Можно верифицировать контракт так, чтобы он был виден только владельцу проекта в Tenderly. И только при деплое конечного варианта верифицировать публично. Часто это бывает удобно, чтобы не светить тестовый код контрактов. |
| 48 | +- **Transaction Simulator**. Можно симулировать любую транзакцию и посмотреть, что получится в ответе. В основной state блокчейна транзакция конечно не попадет. Работает через вызов JSON RPC метода `eth_call`. Умеет показывать `traces` вызовов. |
| 49 | +- **Web3 Actions**. Это обычная функция `javaScript`, работающая в инфраструктуре Tenderly. Срабатывает в зависимости от определенных правил триггера события в сети и запускает action к исполнению. |
| 50 | +- **Wallet Monitoring**. Также как и контракт, можно добавить адрес кошелька в Tenderly. Это дает возможность следить за транзакциями, симулировать транзакции и настраивать поток оповещений. |
| 51 | +- **Transaction Filtering**. Для этого инструмента выделена отдельная вкладка, которая представляет список транзакций конкретного контракта или кошелька. Можно гибко настраивать табличное представление и фильтровать транзакции по собственным параметрам. |
| 52 | +- **Visual Debugger**. Визуальный инструмент, который позволяет детально рассмотреть, что происходит внутри транзакции. Позволяет детально разобрать `call traces`. Можно походить вперед и назад прям по стеку вызовов и debugger будет подсвечивать вызываемые строчки кода. |
| 53 | +- **Smart Contract Analytics**. Отдельный инструмент для сбора аналитических данных со смарт-контракта. Позволяет смотреть на вызовы транзакции с течением времени, статистику различных вызовов, дневную, недельную и месячную активность. |
| 54 | +- **Real-time Alerting**. Можно настроить собственные оповещения. |
| 55 | +- **Gas Profiler**. Является частью debugger. Показывает детальный расход газа транзакцией. Можно посмотреть статистику расходу относительно каждого вызова. |
| 56 | +- **Forks**. Дает возможность создавать форк сети и запускать в нем код смарт-контракта. Это дает гибкость в запуске симуляции транзакции или целой группы симуляций изолировано внутри форка. |
| 57 | +- **Integrations**. Есть интеграция с `hardhat`. Для этого используется специальный плагин `hardhat-tenderly`. Необходимо будет указать аккаунт и проект tenderly с которым будет интеграция. Можно экспортировать транзакции в tenderly. Можно верифицировать контракт при помощи tenderly. |
| 58 | + |
| 59 | +Думаю ты понял, что **tenderly** является очень мощным инструментом. Единственный минус заключается в том, что он платный. Бесплатный план довольно скуден.🐷 Можно завести только один проект и добавить одну организацию, нельзя добавить команду к дашбордам, ограничено количество контрактов, за которыми можно следить. Малоинформативная дефолтная аналитика. Однако и на бесплатном плане возможности впечатляют. Его обязательно нужно попробовать в деле. |
| 60 | + |
0 commit comments